import urllib.request # 웹 url 을 파이썬이 인식할 수 있게 하는 패키지
from bs4 import BeautifulSoup # html 코드에서 원하는 지점을 빨리 찾을 수 있게 만든 모듈
from selenium import webdriver # 손으로 클릭하는것을 컴퓨터가 하겠금 하는 모듈
from selenium.webdriver.common.keys import Keys
import time # 중간중간 sleep 을 주려고
binary = '/Users/wodl/Desktop/chromedriver/chromedriver' # 크롬 드라이버 위치 지정
browser = webdriver.Chrome(binary) # browser 객체 생성
browser.get("https://www.bing.com/images?FORM=Z9LH")
elem = browser.find_element_by_id("sb_form_q") # 검색창 지점을 알아내서 elem 에 담는다
#find_elements_by_class_name("") # 클래스 이름으로 찾을때 필요한 코드
# 검색어 입력
elem.send_keys("황제펭귄") # 컴퓨터가 아이언맨 글씨를 직접 적는다.
time.sleep(5)
elem.submit() # 그리고 엔터를 친다.ㅏ
# 반복할 횟수
for i in range(1,5): # end 키를 누루면서 아래로 내리는데
browser.find_element_by_xpath("//body").send_keys(Keys.END)
time.sleep(10) # 슬립을 5초 주면서 5번 수행한다.
html = browser.page_source # 현 페이지의 html 코드를 불러와서
soup = BeautifulSoup(html,"lxml") # BeautifulSoup을 이용할 수 있도록 파싱한다.
def fetch_list_url(): # 이미지의 상세 url 가져오는 함수
params = []
imgList = soup.find_all("img", class_="_img") # img 테그의 클래스 이름 _img 로 접근
for im in imgList:
params.append(im["src"]) # src 의 값을 가져와서 params 에 append 합니다.
return params
def fetch_detail_url(): # 상세 이미지 url 가져와서 이미지 다운로드하는 함수
params = fetch_list_url()
#print(params)
a = 1
for p in params:
# 다운받을 폴더경로 입력
urllib.request.urlretrieve(p, "/Users/wodl/Desktop/gimages3/"+ str(a) + ".jpg" )
a = a + 1
fetch_detail_url()
browser.quit()