무효 클릭 IP 추적 중...
파이썬/파이썬 기초

[python 기초] 셀레니움(firefox,IE,chrome 이용) 설치 및 사용법

꼬예 2020. 5. 15.

 

requests 와 urllib 을 이용하여 크롤링을 하다보면 원하는 정보를 긁어오지 못하는 경우가 종종 있습니다.

이러한 상황이 발생되는 이유는 해당 웹페이지가 자바스크립트로 추가적으로 데이터를 불러들어오는 사이트(동적 웹페이지)일 가능성이 높습니다.

 

이러한 상황에서 'SELENIUM'이 좋은 해결책이 될 수 있습니다.

물론 셀레니움은 직접 웹 브라우저를 실행시켜 작동하기에 속도가 느린 단점이 있습니다.

이런 단점을 보완하기 위해선 requests와 urllib의 조합을 통해 효율적인 스크레이퍼를 만드시길 추천 드립니다.

 

1. 셀레니움 설치

터미널 창에서 "pip install selenium'을 입력한후 설치를 해줍니다.

 

2. 셀레니움 웹드라이브 설정

1
2
from  selenium import  webdriver
 
cs

해당 패키지를 임포트 해줍니다.

 

(1) 셀레니움 드라이브 설치

셀레니움에서는 chrome ,firefox, phantomjs, ie 여러 가지 브라우저를 지원합니다.

우선 chrome을 기준으로 설명을 하겠습니다.

 

우선 크롬 드라이버를 설치해줘야 하는데요. 이때 우리가 다운 받을 드라이버는 인터넷을 사용할 때 사용하는 크롬 브라우저가 아니라 셀레니움이 이용할 크롬입니다. 

크롬 드라이버 다운로드

 

Downloads - ChromeDriver - WebDriver for Chrome

WebDriver for Chrome

sites.google.com

 

다운 받기 앞서 여러분이 사용하시는 인터넷 크롬의 버전을 확인 합니다. 

 

그 후 해당버전과 일치하는 버전의 크롬 드라이버를 설치해줘야 합니다.

<<제가 사용하는 크롬버젼은 81.0.4044.138입니다 그렇기 때문에 이와 같은 크롬 드라이버를 설치해줘야 겠죠?>>

 

(2) driver 변수 설정 

1
2
3
4
5
6
7
from  selenium import  webdriver
 
driver = webdriver.Chrome(executable_path ='여러분 pc에 크롬드라이버가 설치된 위치')
 
# 필자 PC 기준 예시
driver = webdriver.Chrome(executable_path ='C:/python_study/chromedriver/chromedriver.exe')
 
cs

driver 라는 임의에 변수에 위와 같은 코드를 입력합니다. 이 작업은 우리가 다운 받은 크롬 드라이버와 파이썬이 연결될수 있도록 하는 작업입니다.

 

아래와 같이 적어도 상관없으니, 여러분이 편한것으로 아무거나 사용하시면 됩니다.

1
2
3
from  selenium import  webdriver

# 필자 PC 기준 예시
driver = webdriver.Chrome('c:/python_study/chromedriver/chromedriver.exe')
cs

 

(3) 원하는 웹페이지에 접속.

1
2
3
4
5
6
7
8
9
10
from  selenium import  webdriver
 
driver = webdriver.Chrome('c:/python_study/chromedriver/chromedriver.exe')
 
driver.get('접속하고자 하는 주소')
 
# 네이버가 접속하고자 하는 주소라면.
 
 
driver.get('www.naver.com')
cs

 

4. 기타 드라이버(firefox,phantom js 등) 사용법

1) Firefox

(1) 본인 pc에 맞는 버전 다운로드

 

파이어폭스 드라이버 다운로드

 

mozilla/geckodriver

WebDriver for Firefox. Contribute to mozilla/geckodriver development by creating an account on GitHub.

github.com

<다운로드 완료된 파일 모습>

(2) 파이어폭스 드라이버 설정 

1
2
3
4
5
6
from  selenium import  webdriver
 
driver = webdriver.Firefox('여러분 pc에 파이어폭스 드라이버가 설치된 위치')
 
# 필자 PC 기준 예시
driver = webdriver.Firefox('C:\python_study\firefox\geckodriver.exe')
cs

위와 같이 파이어폭스 드라이버를 설정해주고 나머지는 chrome과 같은 방식으로 진행됩니다.

 

2) Phantom JS(headless browser)

phantom js는 일명 headless browser로 브라우저를 띄우지 않고 작업을 합니다.

브라우저가 왔다 갔다하는게 싫으신분들은 phantom js가 유용한 툴일 수 있습니다. 

 

최근 팬텀 js는 업데이트를 지원하지 않고 있습니다. 

(사용은 가능하나 관련 사항이 찝찝하신분들은 chrome headless 기능을 이용하시면 됩니다. 해당 내용은 아래 링크에서 확인 부탁드립니다.)

[python 기초] selenium add_arguement()를 이용한 headless 및 여러가지 기능 배우기

 

 

(1) 본인 pc에 맞는 버전 다운로드

phantom js 드라이버 다운로드

 

Download PhantomJS

Download PhantomJS New to PhantomJS? Read and study the Quick Start guide. Windows Download phantomjs-2.1.1-windows.zip (17.4 MB) and extract (unzip) the content. The executable phantomjs.exe is ready to use. Note: For this static build, the binary is self

phantomjs.org

 

<다운로드 완료된 파일 모습>

 

(2) 팬텀 JS 드라이버 설정 

1
2
3
4
5
6
from  selenium import  webdriver
 
driver = webdriver.Firefox('여러분 pc에 팬텀 JS 드라이버가 설치된 위치')
 
# 필자 PC 기준 예시 
driver = webdriver.PhantomJS('C:\python_study\phantomjs\phantomjs.exe')
cs

 

 

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글