인터넷에서 파일을 다운로드하는 것은 많은 프로그램에서 필요한 기능입니다. 이번에는 Python을 사용하여 파일을 다운로드하는 방법을 알아보겠습니다.
urllib
라이브러리 사용하기
Python의 표준 라이브러리인 urllib
을 사용하면 간단하게 파일을 다운로드할 수 있습니다. 다음은 urllib.request
모듈을 사용하여 파일을 다운로드하는 예제입니다.
import urllib.request
url = "파일의 URL"
파일명 = "다운로드할 파일의 이름"
urllib.request.urlretrieve(url, 파일명)
위 예제에서 url
변수에는 다운로드할 파일의 URL을, 파일명
변수에는 저장될 파일의 이름을 지정합니다. urllib.request.urlretrieve
함수를 호출하면 파일이 지정된 이름으로 현재 디렉토리에 저장됩니다.
requests
라이브러리 사용하기
requests
라이브러리는 보다 간편하고 직관적인 인터페이스로 파일을 다운로드할 수 있는 기능을 제공합니다. requests
라이브러리가 설치되어 있지 않다면 먼저 설치해야 합니다.
import requests
url = "파일의 URL"
파일명 = "다운로드할 파일의 이름"
response = requests.get(url)
with open(파일명, "wb") as 파일:
파일.write(response.content)
위 예제에서 url
변수에는 다운로드할 파일의 URL을, 파일명
변수에는 저장될 파일의 이름을 지정합니다. requests.get
함수를 호출하여 파일의 내용을 가져온 후, open
함수와 write
메서드를 이용하여 파일로 저장합니다. "wb"
는 이진 파일을 쓰기 모드로 열기 위한 옵션입니다.
예외 처리하기
파일 다운로드 중에 예외가 발생할 수 있다는 것을 염두에 두고 예외 처리를 해주는 것이 좋습니다. 다음은 예외 처리를 추가한 예제입니다.
import requests
url = "파일의 URL"
파일명 = "다운로드할 파일의 이름"
try:
response = requests.get(url)
response.raise_for_status() # HTTP 상태코드가 200이 아니면 예외 발생
with open(파일명, "wb") as 파일:
파일.write(response.content)
except requests.exceptions.RequestException as e:
print("파일을 다운로드하지 못했습니다:", e)
예제에서 response.raise_for_status()
는 HTTP 상태코드가 200이 아닐 경우 예외를 발생시킵니다. 이를 통해 파일이 정상적으로 다운로드되는지 확인할 수 있습니다.
결론
Python을 사용하여 파일을 다운로드하는 방법을 알아보았습니다. urllib
이나 requests
라이브러리를 이용하면 웹 상의 파일을 손쉽게 다운로드할 수 있습니다. 파일 다운로드 과정에서 발생하는 예외에 대비하여 예외 처리도 적절히 해주는 것이 좋습니다.
참고 자료: