from selenium import webdriver as wb
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import os
from urllib.request import urlretrieve
if not os.path.isdir("C:/Users/smhrd1/Desktop/이미지") :
os.mkdir("C:/Users/smhrd1/Desktop/이미지")
driver = wb.Chrome()
driver.get("https://search.naver.com/search.naver?ssc=tab.image.all&where=image&sm=tab_jum&query=%EA%B3%A0%EC%96%91%EC%9D%B4")
img = driver.find_elements(By.CSS_SELECTOR,"#main_pack > section > div.api_subject_bx._fe_image_tab_grid_root.ani_fadein > div > div > div.image_tile._fe_image_tab_grid > div > div > div > div > img")
src = []
for i in range(len(img)) :
src.append(img[i].get_attribute("src"))
#이미지의 경로를 파일로 변환
for i in range(len(src)) :
urlretrieve(src[i],"C:/Users/smhrd1/Desktop/이미지/"+str(i)+".jpg")
while True :
# 스크롤을 누루기 전 상태의 페이지 정보
first = driver.page_source
body = driver.find_element(By.CSS_SELECTOR,"body")
body.send_keys(Keys.END)
time.sleep(1)
after = driver.page_source
if first == after :
break
# 대화 : 지금 페이지의 정보와 누른 후의 정보가 같다면 멈춰라 아니라면? 스크롤 내려라
1) os 라이브러리 : 파일이나 폴더를 생성, 삭제,조회..할때 사용한다.
2) 속성추출 : get_attribute("속성이름")
- 사용처 : img태그의 src값, a태그의 href값 저장
3) 무한스크롤 : while문을 통해서 스크롤 내리기 전, 후를 비교하여 스크롤을 끝까지 내릴 수 있다.