Python에서 이미지 다운로드
이 자습서에서는 Python을 사용하여 인터넷에서 이미지를 다운로드하는 가장 눈에 띄는 방법에 대해 설명합니다.
Python에서urllib
패키지를 사용하여 이미지 다운로드
urllib
패키지는 URL 작업을위한 여러 모듈의 모음입니다. urllib.request
는 URL에서 콘텐츠를 열고 읽는 데 사용되는 모듈입니다. 이 자습서에서는 Python을 사용하여 https://www.python.org/images/success/nasa.jpg에서 이미지 파일을 다운로드합니다. urllib.request
모듈에서 두 가지 방법을 사용하여 이미지를 다운로드 할 수 있습니다. 이에 대해서는 아래에서 설명합니다.
urllib.request.urlretrieve(url, filename)
메소드를 사용하여 이미지 다운로드
다음 코드 예제는 urlretrieve(url, filename)
메서드를 사용하여 Python에서 이미지를 다운로드하는 방법을 보여줍니다.
import urllib.request
urllib.request.urlretrieve("https://www.python.org/images/success/nasa.jpg", "NASA.jpg")
print("download successful")
출력:
download successful
위의 코드는 이미지를 현재 작업 디렉토리로 다운로드합니다. urlretrieve(url, filename)
메소드는 이미지 URL과이를 인수로 저장하려는 파일 이름을 사용합니다. urlretrieve(url, filename)
메소드는 공식 문서의 레거시 인터페이스 아래에 나열되어 있습니다. 이는urlretrieve(url, filename)
메소드가 향후 더 이상 사용되지 않음을 의미합니다.
urllib.request.urlopen(url)
을 사용하여 이미지 다운로드
urlretrieve(url, filename)
메소드의 불가피한 폐기를 극복하기 위해 urlopen(url)
메소드은 파일 처리와 함께 사용할 수 있습니다. 공식 Python 문서에 따르면urlopen(url)
메소드는 모든 URL을 여는 데 사용됩니다.
다음 코드 예제는 파일 처리와 함께urlopen(url)
메소드를 사용하여 이미지를 다운로드하는 방법을 보여줍니다.
import urllib.request
f = open("NASA2.jpg", "wb")
f.write(urllib.request.urlopen("https://www.python.org/images/success/nasa.jpg").read())
f.close()
print("download successful")
출력:
download successful
위 코드에서 먼저 open(filename, mode)
메소드를 사용하여write binaries
모드에서NASA2.jpg
라는 파일을 엽니 다. 다음 줄에서는write()
메소드를 사용하여 URL에서 읽은 내용을 파일에 씁니다. 그 후close()
메소드를 사용하여 파일을 닫습니다.
Python의requests
라이브러리를 사용하여 이미지 다운로드
requests
는 서버에 HTTP/1.1 요청을 서버에 보내는 데 사용할 수있는 Python 라이브러리입니다. requests
라이브러리의 get(url)
메소드를 사용하여 URL에GET
요청을 보내 이미지 파일을 가져올 수 있습니다. URL에서 가져온 다음 파일 처리를 사용하여 저장합니다.
다음 코드 예제는 파일 처리와 함께requests
라이브러리를 사용하여 이미지를 다운로드하는 방법을 보여줍니다.
import requests
f = open("NASA3.jpg", "wb")
response = requests.get("https://www.python.org/images/success/nasa.jpg")
f.write(response.content)
f.close()
print("download successful")
출력:
download successful
위의 코드에서 먼저open(filename, mode)
메소드를 사용하여write binaries
모드에서NASA3.jpg
라는 파일을 엽니 다.
다음 줄에서는 GET 요청의 응답을response
변수에 저장합니다.
그 후write()
메소드를 사용하여response
의 바이너리 내용을 파일에 씁니다.
마지막으로close()
메소드를 사용하여 파일을 닫습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn