Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 운영체제론
- 웹/모바일
- Virtual Box 7.0.6
- 부스트캠프
- Ubuntu 20.04
- 네이버
- 후기
- 네이버 부스트 코스
- 8기
- id # tr # 환경변수
- 백준 #baekjoon # 2563
- 보기 편하라고 만든
Archives
- Today
- Total
Miner
DAY 09 본문
10/26 파이썬으로 웹 데이터를 크롤하고 분석하기(4)
파이썬을 통해 브라우저를 자동화하기
1. 브라우저 자동화하기, Selenium
%pip install selenium
Web Driver
- 웹 브라우저와 연동을 위해서는 WebDriver가 필요하다.
WebDriver는 웹 브라우저를 제어할 수 있는 자동화 프레임워크입니다.
이 실습에서는 Chrome을 기준.
pip insall을 통해 webdriver를 관리하는 라이브러리 webdriver-manager를 설치한다.
%pip install webdriver-manager
# selenium으로부터 webdriver 모듈을 불러옵니다.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
√ 불러온 모듈 webdriver에서 Chrome() 객체를 생성한다.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("http://www.example.com")
print(driver.page_source)
하면, html 소스들이 나타난다.
√ with-as 구문을 통해 주어진 명령이 끝나면 driver를 종료하도록 설정할 수 있다.
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver:
driver.get("http://www.example.com")
print(driver.page_source)
√
요소 하나 찾기
- .find_element(by, target)
- by : 대상을 찾는 기준 : ID, TAG_NAME, CLASS_NAME, ...
- target : 대상의 속성
요소 여러개 찾기
- .find_elements(by, target)
- by : 대상을 찾는 기준 : ID, TAG_NAME, CLASS_NAME, ...
- target : 대상의 속성
# BY를 import 해봅시다.
from selenium.webdriver.common.by import By
# p 태그에 해당하는 요소 하나를 찾아봅시다.
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver:
driver.get("http://www.example.com")
print(driver.find_element(By.TAG_NAME,"p").text)
# p 태그에 해당하는 요소 여러개를 찾아봅시다.
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver:
driver.get("http://www.example.com")
for element in driver.find_elements(By.TAG_NAME,"p"):
print(element.text)
2. Wait and Call