반응형


파이썬 크롤링은 간단하게 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")

실행하면 크롬이 실행된 후 네이버 페이지가 뜨는 것을 확인 할 수 있다.



Posted by NULL..
,