공식 문서가 그렇게 길지 않으니 살펴봅시다.
1. 설치를 위한 가상 환경 세팅 및 설치
아무거나 사용하셔도 됩니다. 저는 pipenv를 사용했습니다. 최근엔 conda 내에서 합니다.
darrengwon.tistory.com/341?category=858371
pipenv 가상 환경에 들어와 있는지 제대로 확인합시다.
당연히 가상 환경 내에 설치했으므로 인터프리터 선택도 신경써줘야 합니다.
Ctrl + Shift + P 누르고 Python: Select Interpreter 선택 > 방금 생성한 가상환경의 Scripts/python.exe를 선택
이제 설치를 진행해봅시다.
pipenv install selenium
웹 드라이버를 위한 binary 파일을 다운로드하기 위해 webdriver_manager 패키지를 이용합시다.
사용 방법은 공식 github 페이지를 살펴보도록 합시다.
github.com/SergeyPirogov/webdriver_manager
pipenv install webdriver_manager
주피터 노트북에서 진행하신다면 위와 같이 설치해도 안될겁니다.
chromedriver.chromium.org/downloads
직접 zip 파일을 받아 압축을 풀어 주피터 노트북이 사용하는 경로(주로 유저 경로죠)에 exe를 넣어준 후
해당 경로를 driver에게 직접 제공해야 합니다.
PATH = "../chromedriver.exe"
driver = webdriver.Chrome(PATH)
2. hello world 코드 작성
./main.py
웹 브라우저 중에는 Chrome을 사용하겠습니다.
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
browser = webdriver.Chrome(ChromeDriverManager().install())
browser.get("https://google.com")
실행
python main.py
실행 결과 자동으로 봇 시점의 크롬 브라우저가 뜨고, google로 접속한 것을 확인할 수 있습니다.
3. 간단한 예시
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager
browser = webdriver.Chrome(ChromeDriverManager().install())
# google로 접속
browser.get("https://google.com")
# 검색창 찾은 후 입력, 엔터
search_bar = browser.find_element_by_class_name("gLFyf")
search_bar.send_keys("hello")
search_bar.send_keys(Keys.ENTER)
# 찾아낸 결과물 g를 찾은 후 h3 태그에 든 text 추출
search_results = browser.find_elements_by_class_name("g")
for search_result in search_results:
title = search_result.find_element_by_tag_name("h3")
if title.text:
print(title.text)
# 브라우저를 닫습니다.
browser.quit()
'Crawler > Crawler' 카테고리의 다른 글
WebDriver, WebElements, Waiting (0) | 2020.09.07 |
---|---|
POST 방식의 웹 사이트 python crawling 후 pymongo 저장 (1) | 2020.06.09 |
requests와 beautiful soup 패키지를 활용한 crawling (0) | 2020.05.08 |