Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

파이썬 Python

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

환경: PyCharm

 

Selenium(셀레니움) 은 사용자가 아닌 프로그램이 웹 브라우저를 제어할 수 있게 해 주는 라이브러리입니다. Selenium 은 서버와 클라이언트로 나누는데, 웹 브라우저 종류 마다 클라이언트 프로그램이 별도로 필요합니다. Browser Driver 는 웹 브라우저와 Selenium 서버간 통신을 위한 인터페이스 도구입니다. 첫 번째 시간으로 Selenium 라이브러리를 설치하고 웹 브라우저 제어를 위한 드라이버 다운로드 방법에 대해 알아 보겠습니다.

 

셀레니움을 설치하기 위해서는 pip 유틸을 사용해야 합니다. 명령어는 다음과 같습니다.

> pip install selenium

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

웹 브라우저를 제어하려면 브라우저별로 드라이버가 필요합니다. 크롬 드라이버 주소는 다음과 같습니다. 사이트에 접속해서 ChromeDriver 최신버전을 다운받습니다.

https://sites.google.com/a/chromium.org/chromedriver/downloads

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

상세 페이지로 들어가면 윈도우 별로 다운받을 수 있습니다.


https://github.com/mozilla/geckodriver/releases

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

다음은 마이크로소프트 엣지 드라이버입니다. 윈도우10 부터 추가된 엣지는 사용자가 많이 늘었습니다.

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

오늘은 사용자가 제일 많은 Chrome 브라우저만 다뤄 보겠습니다. 소스에서 webdriver import 합니다. webdriver Chrome() 함수에 파라미터로 위에서 다운받은 WebDriver 를 추가합니다

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

프로그램을 실행한 결과 입니다. 3초 후에 크롬에서 지정한 웹 사이트로 이동했습니다

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

전체 소스는 다음과 같습니다. selenium webdriver 패키지를 import 하면 각종 브라우저를 제어할 수 있는 클래스 사용이 가능합니다. webdriver.Chrome() 클래스 생성자 함수를 이용해 WebDriver 객체를 만듭니다. WebDriver 객체의 get() 함수로 사이트를 오픈합니다.

 

from selenium import webdriver

 

# 다운받은 chromedriver의 위치를 지정해준다.

driver = webdriver.Chrome('D:\Project\Python\chromedriver_win32\chromedriver.exe')

 

driver.implicitly_wait(3)

driver.get("http://mainia.tistory.com")

 

selenium 패키지에서 브라우저 별로 사용할 수 있는 클래스 목록입니다

Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1

 

다음 2부에서는 티스토리 블로그를 로그인해 보겠습니다


Posted by 녹두장군