본문 바로가기

파이썬(python3)/기타

python3 image download using requests library

  이전에 Python을 통한 크롤링에 대해서 간단하게 살펴봤었죠. 약간 추가해서 몇 가지만 기록해두려고요. 이번에 정리해두는 것은 파이썬으로 웹상에 존재하는 이미지를 로컬 컴퓨터로 다운로드 하는 코드입니다. requests라는 라이브러리를 사용해서 쉽게 가능하고요. 일단 코드부터 보시는게 좋겠죠?

 

import requests

target_image_url = "https://images.pexels.com/photos/38295/mobile-phone-iphone-music-38295.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260"

f = open("test.png".format(), "wb")
f.write(requests.get("{0}".format(target_image_url)).content)
f.close()

 

requests 라이브러리가 없으면 아래 명령어로 설치합니다.

pip install requets

  위 코드를 붙여 넣고 실행합니다. 간단하죠? target_image_url에 이미지 주소 입력하면 되는데요. 저는 테스트로 pexel 홈페이지에 있는 이미지 하나를 다운로드 해봤는데요. 아래와 같은 이미지를 다운로드 해봤습니다. 

 

pexel 홈페이지에 있는 이미지

  왼쪽에 있는 이미지 주소를 소스코드에 넣고 실행해보면 test.png로 이미지가 저장됩니다. 아래 이미지가 저장된 test.png를 열었을 때 화면입니다. 작은 이미지가 아니라 제가 작게 보이도록 스샷을 찍은거에요.

 

다운로드한 파일 샘플 이미지

  쉽죠? 위 코드를 크롤링, 파싱과 연계하면 원하시는 이미지를 웹페이지에서 자동으로 찾고 로컬 컴퓨터에 저장하는 기능까지 구현하실 수 있습니다. 로그인을 해야지만 보이는 이미지가 있다. 그 이미지를 자동으로 다운로드 받고 그리고 수정도 하고 싶다 하시면 다음과 같이 작성할 수 있겠죠. "로그인 > 크롤링&파싱 > 이미지 다운로드 > 이미지 리사이징" 이렇게요. 혹시 원하시는 샘플 기능이 있다면 댓글 달아주세요. 샘플로 작성해서 소개해드릴 수 있도록 하겠습니다.