728x90
먼저 pip install selenium 명령어를 통해 셀레니움을 설치해줍니다.
그 후 과정은 아래 코드에 있습니다.
전체 코드
# selenium 관련 라이브러리를 불러오는 코드
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 프로그램을 잠깐 멈추게 하기위한 라이브러리
import time
# url로 이미지를 다운받기 위한 라이브러리
import urllib.request
# 다운받은 chromedriver를 불러와서 driver 변수에 저장
driver = webdriver.Chrome()
# driver로 해당 페이지로 이동 : 구글 이미지로 이동
driver.get("https://www.google.co.kr/imghp?hl=ko&ogbl")
# 검색창 element 찾기 / 구글 이미지 input name = q
elem = driver.find_element_by_name("q")
# 원하는 값 입력
elem.send_keys("팀노바")
# 입력한 값 전송
elem.send_keys(Keys.RETURN)
SCROLL_PAUSE_TIME = 1
# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page
time.sleep(SCROLL_PAUSE_TIME)
# Calculate new scroll height and compare with last scroll height
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
try:
driver.find_element_by_css_selector(".my34qd").click()
except: break
last_height = new_height
# 내가 필요한 요소 선택 : 검색한 미리보기 이미지
images = driver.find_elements_by_css_selector(".rg_i.Q4LuWd")[0].click()
count = 1
#반복문으로 이미지요소 배열들 돌며 작업
for image in images:
# 이미지 클릭
image.click()
# 브라우저가 클릭을 한후 바로 뜨진 않으니 기다리는 시간을 주기 위함
time.sleep(3)
# 미리보기 이미지를 클릭해서 큰 이미지를 띄우고 큰 이미지를 선택하고 src 속성을 가져옴
driver.find_element_by_css_selector(".n3VNCb")
imgUrl = driver.find_element_by_css_selector(".n3VNCb").get_attribute("src")
# 이미지를 url로 다운받는다.
urllib.request.urlretrieve(imgUrl, str(count)+".jpg")
count = count + 1
driver.close()
실행하면 이렇게 파일들을 자동으로 크롤링하는 것을 볼 수 있습니다.
'Python' 카테고리의 다른 글
[Python] 원하는 형태로 타임스탬프 만들기 (0) | 2022.06.25 |
---|---|
[Python] 메모장 글 쓰기 (0) | 2022.06.20 |
[Python] 음성파일을 텍스트로 전환하기 (0) | 2022.01.06 |
[Python][Pycharm] 이미지 모자이크 처리 (0) | 2021.09.13 |
[Python] 소켓 통신하여 채팅 하기 (12) | 2021.09.11 |