살다보면 업무든 뭐든 웹을 통한 작업을 할 일이 꽤나 많습니다.
반복적인 작업을 해야 할 때도 많아서, 열심히 작업을 하다보면 가끔 현타가 옵니다.
조금이라도 현타를 줄이고자한다면 python 라이브러리인 selenium을 사용하면 됩니다.
웹 자동화를 위한 라이브러리인데, node.js나 go에서도 구현이 가능하나,
python이 아무래도 자료도 많고 다양한 라이브러리들이 제공되어서 python에서 사용하는 것이 좋은 것 같습니다.
selenium을 사용해 웹브라우저를 제어하기 위해서는 세가지 필수사항이 있습니다.
- python 설치
- selenium 설치
- 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는 할 일을 마친 브라우저가 꺼지지 않도록 해주는 옵션입니다. 없어도 작동은 잘 돼요.)
이제 브라우저를 컨트롤하는 코드를 써주면 웹에서 하는 반복적인 작업을 자동화할 수 있습니다.
웹상의 대량의 정보를 긁어오는 크롤링도 가능하죠.
다음 포스트에서는 자동화를 위한 코드를 알아보도록 할게요.
'Programming > Python' 카테고리의 다른 글
[Python] 언어는 반복 작업을 하기 위한 도구이다 (0) | 2022.12.13 |
---|---|
[Python] yaml 파일을 활용한 python 코딩 (0) | 2022.12.12 |
[Pythpn] 3.11.0버전 공개 이슈 dev/ops개발자의 시점 (0) | 2022.11.15 |
[python]linux log를 활용한 csv생성 (0) | 2022.11.14 |
[python] linux log를 활용한 문자열 인덱싱 (0) | 2022.11.14 |
댓글