Python에서 이미지 다운로드

Muhammad Maisam Abbas 2023년12월11일
  1. Python에서urllib패키지를 사용하여 이미지 다운로드
  2. Python의requests라이브러리를 사용하여 이미지 다운로드
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()메소드를 사용하여 파일을 닫습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

관련 문장 - Python Image