파이썬으로 제작한 네이버 이미지 크롤러입니다. 원하는 검색어와 원하는 사진의 갯수를 입력하면 네이버에서 가져와 저장해줍니다. requests와 BeautifulSoup 라이브러리를 이용했습니다.

 

import re
import requests
from bs4 import BeautifulSoup
 
def getImage(keyword,no):
    url="https://search.naver.com/search.naver?where=image&sm=tab_jum&query="+keyword
    html = requests.get(url)
    bs_html = BeautifulSoup(html.content,"html.parser")
    photowall = bs_html.find('div',{"class":"photowall"})
    img_list = photowall.find_all("img",{"class":"_img"})
 
    # for i in range(len(img_list)):
    for i in range(no):
        img_link = re.findall('data-source="(.+?)"',str(img_list[i]))[0]
        img_con = requests.get(img_link).content
        out_file_path = "./output/"+str(keyword)+str(i+1)+".jpg"
        with open(out_file_path, 'wb') as out_file:
            out_file.write(img_con)
            print(img_link)
 
 
#함수로 만든 getImage 실행 코드
 
#한번에 50장까지만 다운로드 가능
 
getImage('원하는 검색어',원하는 사진수)
print("저장 완료")

 

#사용법

26번째 줄 '원하는 검색어'에 말그대로 원하는 검색어를 넣고 원하는 사진수도 입력해준다. 최대 50장만 가능하다. 입력 후 파이썬 파일을 실행해주면 끝!


#주저리주저리

이상하게 파이썬은 자꾸 directory에서 오류가 뜬다.
read모드 제외하고 w/wb/a모드는 open기능 쓸 때 그 파일이 없으면 만들어줘야하는데
자꾸 없는 거라고 오류뜸..
왜그런지 결국 못 알아내고 "./output"만 동작해서 그걸로 사용중
애초에 구글 이미지 크롤러가 잘 작동했으면 이 고생은 안했는데... 얼른 업데이트 되길 바란다.

이거 만들어서 올려주신 분께 정말 감사드린다.

 

<Reference>
1. 파이썬 웹 크롤러 : 네이버 이미지 검색 저장 프로그램, Master 써니아
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기