데이터 분석/툴
[크롤링] selenium 을 이용한 지연 크롤링
nethunter
2018. 7. 4. 18:21
반응형
selenium 은 웹브라우저를 콘트롤 하여(WebDriver를 이용) 웹을 테스트하기 위한 용도로 쓰였으나 크롤링에도 유용하다.
HTML 구성 후 자바스크립트로 해당 데이터를 변경하는 경우 일반 크롤링으론 불가능하기 때문에 selenium을 이용하여 WebDriver 에 표시되는
데이터를 가져와야 한다.
WebDriver 는 아래의 URL에서 받을 수 있다.
https://chromedriver.storage.googleapis.com/index.html
버젼 확인하고 자신에게 맞는 드라이버를 다운로드 하면 된다.
상단의 내용만 다르고 이후 크롤링 방식은 동일하다.
from bs4 import BeautifulSoup as bs from selenium import webdriver import requests import pandas as pd driver = webdriver.Chrome() #driver = webdriver.Chrome(executable_path=r"C:\ccc\chromedriver.exe") driver.get('https://coinmarketcap.com/ko/') driver.implicitly_wait(3) src = driver.page_source #src.status_code soup = bs(src, 'html.parser') src_tbody = soup.find("tbody") |
원화로 표시된 최종 데이터를 추출했다.
반응형