파이썬(Python)

[ 크롤링-Selenium ] 웹 크롤링 파이썬 셀레니움 webdriver 자동 설치(Python selenium webdriver auto-install)

카루루1007 2022. 10. 11. 23:10
728x90
반응형
SMALL
◆ webdriver 설치의 번거로움

웹 크롤링에 selenium을 많이 사용합니다.

하지만 selenium은 chrome이나 edge 등 자신이 사용하는 브라우저가 

업데이트 되었을 경우 webdriver도 다시 설치 해야한다는 번거로움이 있습니다.

처음 접하시는 분들은 위에서 한 말이 어떤 내용인지 이해가 잘 안가실 수 있습니다.

 

selenium은 크롤링을 할 때 사용되는데

selenium을 사용하기 위해서는 webdriver를 다운받아 설치해 주어야 합니다.

webdriver는 사용하는 브라우저(크롬, 엣지 등)의 버전에 따라 맞게 설치해 주어야 합니다.

문제는 브라우저의 업데이트가 매우 빈번하게 발생합니다.

브라우저가 업데이트 되었을 때

지난 버전의 브라우저를 이용하여 웹 크롤링을 하는 코드가 작동이 되지 않을 수 있습니다.

그러면 다시 현재의 브라우저의 버전에 맞는

webdriver를 설치해 주어야 합니다.

이 과정이 생각보다 매우 귀찮습니다.

 

◆ webdriver-manager

webdriver-manager 라이브러리를 사용하면

webdriver를 자동으로 설치할 수 있습니다.

pip install webdriver-manager

먼저 webdriver-manager를 설치해 줍니다.

만약 selenium이 설치되어 있지 않다면 아래와 같이 selenium도 설치를 해줍니다.

pip install selenium

 

먼저 selenium의 webdriver를 불러옵니다.

from selenium from webdriver

그리고 브라우저는 크롬을 사용할 것이기 때문에 webdriver_manager에서 chrome을 사용할 수 있도록 불러옵니다.

from webdriver_manager.chrome import ChromeDriverManager

여기에 더해

from selenium.webdriver.chrome.service import Service

이렇게 작성을 해줍니다.

마지막 부분은 selenium의 버전 3을 사용하신다면 작성을 안하셔도 되지만

selenium 버전 4를 사용하신다면 작성을 하셔야 합니다.

 

마지막으로 아래 코드를 작성하면 끝입니다.

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

 

이렇게 네줄의 코드를 작성하면 내 크롬브라우저의 버전에 맞는 webdriver가 

자동으로 설치 되고

빈 브라우저가 열렸다가 닫히게 됩니다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

 

코드의 마지막 줄이 조금 보기 불편하면

두줄로 나누어 작성하시면 됩니다.

Ch_service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=Ch_service)

 

만약 edge 브라우저를 사용하신다면 다음과 같이 하시면 됩니다.

from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager
from selenium.webdriver.chrome.service import Service

driver = webdriver.Edge(service=Service(EdgeChromiumDriverManager().install()))

 

오페라나 인터넷익스플로어 그리고 파이어폭스도 지원을 하는 것으로 보입니다.

다만 제가 사용하는 것은 edge 브라우저와 chrome 브라우저를 주로 사용하기에

두개의 브라우저 만으로 테스트를 했습니다.

 

마지막으로 처음 실행하시게 되면

다음 그림과 같이 무엇인가 설치되는 것 처럼 보이는 과정이 나타납니다.

한번 설치를 하면 버전이 바뀌지 않으면

다시 설치가 되지는 않으나

만약 브라우저의 버전이 바뀐다면 다시 설치가 자동으로 됩니다.

728x90
반응형
LIST