Link Search Menu Expand Document
동적 페이지 크롤링
Table of contents
  1. 동적 페이지 크롤링 하기
    1. 페이지에 접속하기
    2. 웹 페이지에서 HTML 가져오기

동적 페이지 크롤링 하기

동적 페이지를 크롤링하기 위해서는 chromedriver와 selenum이 필요하다. 먼저 chromedriver는 여기에서 본인의 크롬 브라우저에 맞는 버전으로 로컬디스크(c:)에 설치한다. selenum은 !pip install selenium 코드로 파이썬 환경에서 설치하면 된다.

페이지에 접속하기

driver.get(URL)

  • 특정 URL에 접속하는 명령
from selenium import webdriver

driver = webdriver.Chrome('c:/chromedriver')

url = 'https://www.naver.com/'
driver.get(url) # chromedriver로 네이버 홈페이지에 접속

driver.close()

  • chromedriver 창이 알아서 꺼지기를 원할 때 사용

implicitly_wait(n)

  • n초 이내에 들어오면 켜달라는 뜻
  • 위치가 중요하다! get(url) 전에 써야 한다
from selenium import webdriver

driver = webdriver.Chrome('c:/chromedriver')

url = 'https://www.naver.com/'
driver.implicitly_wait(3)
driver.get(url)

time.sleep(n)

  • n초 이후에 화면이 들어오도록
  • 페이지가 로드되는 시간을 따로 주지 않으면 페이지가 로딩되기 전에 코드를 실행해서 제대로 동작하지 않는 경우가 생긴다
from selenium import webdriver
import time # time 라이브러리 임포트하기

driver = webdriver.Chrome('c:/chromedriver')

url = 'https://www.naver.com/'
time.sleep(3)
driver.get(url)

웹 페이지에서 HTML 가져오기

html = driver.page_source
  • 해당 웹 페이지의 html 을 가져올 수 있다

  • html을 가져온 후에는 정적 페이지에서 동일하게 BeautifulSoup 라이브러리의 findselect를 이용해 추출하고자 하는 요소를 선택하면 된다. findselect를 통해 어떻게 추출하는지는 여기 참고!

  • ✅ Selenium을 이용해 동적 페이지를 반복해서 크롤링할 경우에는 페이지가 계속 변화하므로 driver.page_source 를 이용해야 변한 페이지의 정보를 크롤링해올 수 있다


Page last modified: Nov 26 2020 at 12:11 AM.