본문 바로가기
Python/Python Crawling

파이썬 크롤링, 웹 이미지 저장(파일 저장 방법)

by 워니 wony 2019. 5. 9.

웹 이미지 저장하는 방법은 생각보다 간단하다.

만약 자바를 먼저 배운 사람인 경우 자바에서 이미지 파일을 저장하기 위해서는 파일 처리 및 stream 등에 대한 이해를 해야 하지만 파이썬의 경우 이미지 저장 시 훨씬 간단하게 저장이 가능하다.

 

3줄이면 이미지를 저장할 수 있다.

예시를 보면서 이해하면 좋을 것이다.

 

 

웹 주소 이미지 저장 예제

  • 위키피디아의 로고를 저장하는 예제이다.
  • 이미지를 저장하고자 하는 주소 정보를 가져와서 requests로 해당 소스 정보를 가져온다.
  • file = open("저장 파일명.확장자", "wb")
    • open( ) 메소드는 파일을 처리하기 위한 메소드
    • 저장 파일명은 특수문자는 사용하지 않고, 영어와 숫자로 쓰는 것을 권장한다. 확장자는 이미지 파일의 경우 jpg 또는 png 등의 확장자를 지정한다. 
    • wb는 파일 모드를 지정하는 것. 
      • 읽기(w), 쓰기(w), 수정(+), 텍스트파일(t), 바이너리 파일(b)
      • 이미지 파일을 저장하고자 하는 것이기 때문에 wb라고 써준 것
    • open(',memo.txt', mode='text', encoding='utf-8')
      • 텍스트 파일의 경우 인코딩까지 지정해서 쓸 수 있다.
      • 한글 처리 등을 하기 위해서는 utf-8을 써야 한다.
  • file.write( r.content )
    • 이미지 url로 가져온 정보의 content를 해당 파일명으로 지정하여 open한 file에 쓰라는 명령어
  • file.close( )
    • 열었던 파일을 닫아서 리소스를 닫아 주는 것
import requests

url ="https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Wikipedia-logo-v2.svg/150px-Wikipedia-logo-v2.svg.png"

r = requests.get(url)
file = open("wiki_logo.jpg","wb")
file.write(r.content)
file.close()

print("파일을 생성하였습니다.")

위와 같은 파이썬 코드를 실행하고 나면, 파이썬 코드가 있는 위치에 wiki_logo.jpg 파일이 저장된다.

네이게이터에서 같은 위치에 파일이 저장된 것을 확인 할 수 있다.

반응형

댓글