본문 바로가기
Python

파이썬으로 구글 이미지 스크랩핑(크롤링)하기

by Couldi 2021. 9. 12.
반응형

사용한 패키지

bs4
selenium
urllib

완성 코드

from urllib.request import urlretrieve
from bs4 import BeautifulSoup
from selenium import webdriver
import time

driver = webdriver.Chrome('chromedriver')
driver.get("https://www.google.com/search?q=%EC%9D%B4%EC%8B%9C%ED%95%98%EB%9D%BC+%EC%82%AC%ED%86%A0%EB%AF%B8&tbm=isch&ved=2ahUKEwi1xobqi_fyAhVry4sBHXU_BfIQ2-cCegQIABAA&oq=%EC%9D%B4%EC%8B%9C%ED%95%98%EB%9D%BC+%EC%82%AC%ED%86%A0%EB%AF%B8&gs_lcp=CgNpbWcQAzIFCAAQgAQyBQgAEIAEOgcIIxDvAxAnOggIABCABBCxAzoKCCMQ7wMQ6gIQJ1DBP1j9cmCmdWgGcAB4BYABfogBgg-SAQQwLjE3mAEAoAEBqgELZ3dzLXdpei1pbWewAQrAAQE&sclient=img&ei=6bc8YfWtCuuWr7wP9f6UkA8&bih=937&biw=2560") # 여기에 URL을 넣어주세요
time.sleep(5)

req = driver.page_source
soup = BeautifulSoup(req, 'html.parser')

thumbnails = soup.select('img.rg_i.Q4LuWd')

nondatasrcthumnails = []

for i in thumbnails:
    try:
        nondatasrcthumnails.append(i.attrs["src"])
    except KeyError:
        nondatasrcthumnails.append(i.attrs["data-src"])


i = 1
for thumbnail in nondatasrcthumnails:
    urlretrieve(thumbnail, f'img_homework/{i}.jpg')
    i += 1

driver.quit()
누구를 스크랩핑할까하다가 '이시하라 사토미' 이미지 스크랩핑

후기

스파르타코딩클럽에서 이벤트 중 숙제가 나왔길래 해봤다.
쓰지도 않는 다음 사이트를 가지고 이미지 스크랩핑 하길래 '난 구글이 좋아!' 라는 단순한 이유로 구글에서 스크랩핑.
다른 사이트라는 이유로 제공되는 숙제코드에서는 에러가 발생했고, 구글링을 통해 문제 해결.
원인과 해결방법에 대해서는 다른 사람들이 이미 정리를 잘해두었으므로 자세한 설명은 생략한다.

참고자료

https://m.blog.naver.com/fkdldjs60/221874567247

반응형

'Python' 카테고리의 다른 글

[Python] 워드클라우드 만들기  (0) 2021.09.12
파이썬으로 기사 크롤링 & 이메일 전송  (0) 2021.09.12

댓글