본문 바로가기
python

네이버 이미지 웹크롤링

by 달죽 2020. 12. 17.
반응형
import urllib.request
from  bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
binary = 'chromedriver.exe'
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
browser = webdriver.Chrome(options=options)

browser.implicitly_wait(10)
browser.get("https://search.naver.com/search.naver?where=image&sm=stb_nmr&")

elem = browser.find_element_by_id('nx_query')
elem.send_keys("경복궁")
elem.submit()
for i in range(1, 5):
    browser.find_element_by_xpath("//body").send_keys(Keys.END)
    time.sleep(10)
time.sleep(10)
html = browser.page_source
soup = BeautifulSoup(html, "lxml")
def fetch_list_url():
    params = []
    imgList = soup.find_all("img", class_="_img")
    for im in imgList:
        try :
            params.append(im["src"])
        except KeyError:
            params.append(im["data-src"])
    return params
def fetch_detail_url():
    params = fetch_list_url()
    for idx,p in enumerate(params,1):
        urllib.request.urlretrieve(p, "C:/naver/" + str(idx) + ".jpg")
fetch_detail_url()
browser.quit()

 

밑에 저장할 폴더를 설정하고 이미지 크롤링할 검색어를 설정해준다. 

크롬드라이버를 설치하고 실행하면 된다. 

 

그럼 폴더에 이렇게 저장된다. 

반응형

댓글