반응형
파이썬 크롤링은 간단하게 requests와 beautifulsoup을 이용할 수 있지만,
사이트에서 차단되어있는 경우나 페이지에 ajax를 이용해 데이터를 로드하고 있는 경우에는 해당 데이터를 가져올 수 없는 문제가 있다.
이러한 문제들을 해결하기 위해 selenium을 이용한다.
selenium을 사용하기 위해서는 우선 인스톨이 필요하다.
pip install selenium
selenium의 webdriver로 브라우저를 직접 띄워 제어가 가능하다.
익스플로러, 크롬, 파이어폭스 등 다양한 브라우저가 있지만 크롬을 이용하도록 하겠다.
당연한 이야기지만 제어하기 위해서는 크롬이 설치되어 있어야 하며,
크롬 드라이버 라는 것도 필요하다. 아래의 링크에서 받을 수 있다.
https://sites.google.com/a/chromium.org/chromedriver/downloads
드라이버 버전별로 지원하는 크롬 버전이 표시되어 있으나, 버전이 딱 맞지 않더라도 크게 문제없이 작동하는 것으로 보인다.
준비가 완료되었으면 브라우저를 띄워보도록 하자.
코드는 아래와 같다.
from selenium import webdriver driver = webdriver.Chrome('chromedriver')
'chromedriver' 부분에는 위에서 받은 크롬드라이버의 경로를 지정해주면 된다.
여기까지 잘 작성했다면 실행 후 약 3초 뒤 크롬이 실행 될 것이다.
다음은 웹 페이지로 이동하는 방법이다.
웹 페이지로 이동은 get 함수를 이용한다.
from selenium import webdriver driver = webdriver.Chrome('chromedriver.exe') driver.get("https://www.naver.com")
실행하면 크롬이 실행된 후 네이버 페이지가 뜨는 것을 확인 할 수 있다.
'Python' 카테고리의 다른 글
파이썬의 삼항 연산자 (0) | 2018.03.14 |
---|---|
selenium에서 Alert 제어 방법 (0) | 2018.03.13 |
[파이썬 크롤링] selenium을 이용해 크롤링하기3 (자바스크립트 사용) (0) | 2018.02.12 |
[파이썬 크롤링] selenium을 이용해 크롤링하기2 (데이터 가져오기) (0) | 2018.02.11 |