Miner

DAY 09 본문

데브코스

DAY 09

MineTime76 2023. 10. 26. 17:15

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

 

'데브코스' 카테고리의 다른 글

DAY 12  (1) 2023.10.31
DAY 11  (0) 2023.10.30
DAY 08  (0) 2023.10.25
DAY 07  (0) 2023.10.24
DAY6 - 파이썬으로 웹 다루기  (1) 2023.10.23