본문 바로가기
Programming/Python

python selenium으로 웹노가다 자동화하기 #1

by BTC_조롱이 2022. 12. 10.

살다보면 업무든 뭐든 웹을 통한 작업을 할 일이 꽤나 많습니다.

반복적인 작업을 해야 할 때도 많아서, 열심히 작업을 하다보면 가끔 현타가 옵니다.

조금이라도 현타를 줄이고자한다면 python 라이브러리인 selenium을 사용하면 됩니다.

웹 자동화를 위한 라이브러리인데, node.js나 go에서도 구현이 가능하나,

python이 아무래도 자료도 많고 다양한 라이브러리들이 제공되어서 python에서 사용하는 것이 좋은 것 같습니다.

selenium을 사용해 웹브라우저를 제어하기 위해서는 세가지 필수사항이 있습니다.

  1. python 설치
  2. selenium 설치
  3. webdriver 다운로드

python으로 Selenium 사용하기이니만큼, 1,2번은 당연한 거죠. 그러면 3번은 뭘까요?

브라우저를 제어하기 위해서 각 브라우저회사에서 제공하는 웹드라이버가 필요합니다. 자동화된 프로그램을 사용할 수 있게 해주는 드라이버죠.

 

자, 그러면 이제 Selenium을 사용하기 위해 준비해봅시다.

 

1. python 설치

파이썬 공식 홈페이지

파이썬 공식홈페이지에서 최신 버전인 3.11로 받아줍니다.

저는 macOS를 사용해서 이미지처럼 표시되지만, 윈도우 사용자는 Windows용 파이썬을 다운로드 할 수 있게 나올겁니다.

다운로드 후 설치를 진행하면,

이렇게 파이썬 버전이 표시됩니다.

 

2. selenium 설치

셀레니움은 pip 패키지매니저를 통해 설치할 수 있습니다.

$ pip install selenium

이렇게 간단하게 설치할 수 있습니다.

 

 

3. webdriver 다운로드

웹드라이버는 각 브라우저홈페이지에서 다운로드 할 수 있습니다.

하지만 홈페이지에서 찾는 것보다는 구글에서 검색하는 편이 빠르고 편합니다.

저는 크롬을 사용하기에 크롬 웹드라이버 다운로드 페이지로 들어가줬습니다.

자신의 크롬 버전에 맞게 다운로드 하면 되는데, 버전 확인은 [크롬창 메뉴 > 도움말 > Chrome정보]에서 볼 수 있습니다.

다른 웹브라우저의 버전도 비슷한 방식으로 찾아볼 수 있습니다.

 

이렇게 python, selenium, webdriver가 준비됐다면 이제 코드를 쳐볼까요?

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_experimental_option('detach', True)
driver = webdriver.Chrome(options=options)
driver.get("https://www.naver.com/")

위 코드를 쳐주면 selenium이 컨트롤하는 웹브라우저를 볼 수 있습니다.

(ChromeOptions의 detach는 할 일을 마친 브라우저가 꺼지지 않도록 해주는 옵션입니다. 없어도 작동은 잘 돼요.)

이제 브라우저를 컨트롤하는 코드를 써주면 웹에서 하는 반복적인 작업을 자동화할 수 있습니다.

웹상의 대량의 정보를 긁어오는 크롤링도 가능하죠.

다음 포스트에서는 자동화를 위한 코드를 알아보도록 할게요.

댓글