간단히 설명하자면,
웹 스크래핑에 필요한 패키지를 import(불러오기) 한다.
import dload
from bs4 import BeautifulSoup
from selenium import webdriver
import time
크롬드라이버를 사용하여 웹 브라우저를 자동 제어한다.
driver = webdriver.Chrome('chromedriver') # 웹드라이버 파일의 경로
driver.get("https://search.daum.net/search?nil_suggest=btn&w=img&DA=SBC&q=%EB%B0%95%EB%B3%B4%EC%98%81")
time.sleep(5) # 5초 동안 페이지 로딩 기다리기
웹 브라우저 검사를 통해 이미지 태그를 골라낸다.
여러 이미지 태그의 공통된 부분을 추려낸다. ("#imgList > div > a > img")
req = driver.page_source
soup = BeautifulSoup(req, 'html.parser')
thumbnails = soup.select("#imgList > div > a > img")
반복문을 활용하여 이미지를 저장한다.(dload.save)
imgs_homework 폴더에 박보영1, 박보영2, ...로 저장한다.
i = 1
for thumbnail in thumbnails:
img = thumbnail["src"] # 이미지 태그의 src 부분만 골라낸다.
dload.save(img, f'imgs_homework/박보영{i}.jpg')
i += 1
print(img)
위의 코드를 모두 합치면 아래와 같다.
import dload
from bs4 import BeautifulSoup
from selenium import webdriver
import time
driver = webdriver.Chrome('chromedriver') # 웹드라이버 파일의 경로
driver.get("https://search.daum.net/search?nil_suggest=btn&w=img&DA=SBC&q=%EB%B0%95%EB%B3%B4%EC%98%81")
time.sleep(5) # 5초 동안 페이지 로딩 기다리기
req = driver.page_source
soup = BeautifulSoup(req, 'html.parser')
thumbnails = soup.select("#imgList > div > a > img")
i = 1
for thumbnail in thumbnails:
img = thumbnail["src"]
dload.save(img, f'imgs_homework/박보영{i}.jpg')
i += 1
print(img)
driver.quit() # 끝나면 닫아주기