Python
[Python] Selenium 크롤링
다콩잉
2023. 6. 28. 10:04
Selenium이란?
Selenium은 웹 애플리케이션의 자동화를 위한 도구로 사용되는 오픈 소스 프레임워크입니다. 웹 브라우저를 제어하여 웹 페이지의 동작을 시뮬레이션하고 테스트하는데 사용됩니다. Selenium을 사용하면 다양한 브라우저에서 동작하는 웹 애플리케이션을 테스트하고 검증할 수 있습니다.
Selenium 설치
pip install selenium
# or
conda install selenium
Selenium 사용법
from selenium import webdriver
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
webdriver_path = r'drive경로'
driver = webdriver.Chrome(options=options)
driver.get("크롤링할 url")
# 'h3'태그 중에 'title-cnt'클래스인 태그
element = driver.find_element(By.CSS_SELECTOR, 'h3.title-cnt')
# class가 'component_wra'인 모든 태그
element = driver.find_elements(By.CSS_SELECTOR, '.component_wrap')
# id가 'my-app'인 태그
element = driver.find_element(By.CSS_SELECTOR, '#my-app')
# 모든 div 태그
element = driver.find_element(By.TAG_NAME, 'div')
driver.close()
iframe으로 구성된 페이지 크롤링
<iframe> 요소는 웹 페이지 안에 다른 웹 문서를 포함시키기 위해 사용됩니다. Selenium을 사용하여 <iframe> 안에 포함된 내용을 가져오려면 다음과 같은 단계를 따를 수 있습니다:
- <iframe> 요소를 식별합니다.
- <iframe> 요소를 전환하여 해당 내용으로 포커스를 이동합니다.
- 포커스가 이동된 후에는 일반적인 방법으로 태그를 가져올 수 있습니다.
from selenium import webdriver
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
webdriver_path = r'drive경로'
driver = webdriver.Chrome(options=options)
driver.get("크롤링할 url")
# iframe 요소 식별
iframe = driver.find_element(By.ID, "mainFrame")
# 포커스 전환
driver.switch_to.frame(iframe)
# 'h3'태그 중에 'title-cnt'클래스인 태그
element = driver.find_element(By.CSS_SELECTOR, 'h3.title-cnt')
# class가 'component_wra'인 모든 태그
element = driver.find_elements(By.CSS_SELECTOR, '.component_wrap')
# id가 'my-app'인 태그
element = driver.find_element(By.CSS_SELECTOR, '#my-app')
# 모든 div 태그
element = driver.find_element(By.TAG_NAME, 'div')
# 포커스 복원
driver.switch_to.default_content()
driver.close()
728x90