1인개발자에서 살아남는법!
초보자를 위한 웹 크롤링: Selenium이란?
Alan__kang__morlang
2025. 4. 11. 21:45
반응형
1. Selenium 소개
Selenium은 웹 브라우저를 자동으로 제어할 수 있게 해주는 대표적인 웹 크롤링 도구입니다. 특히 JavaScript가 사용된 동적 웹페이지의 데이터를 크롤링할 때 매우 유용합니다.
2. Selenium 설치 방법
먼저 Python 환경에서 Selenium을 설치해봅시다. 터미널 또는 명령 프롬프트에서 아래 명령어를 입력하세요.
pip install selenium
3. 웹 드라이버 설치
Selenium을 사용하려면 웹 브라우저를 제어할 수 있는 드라이버가 필요합니다. 대표적인 크롬 브라우저 드라이버인 ChromeDriver를 설치해 보겠습니다.
- ChromeDriver 다운로드 링크에서 자신의 크롬 브라우저 버전에 맞는 드라이버를 다운로드합니다.
- 다운로드한 파일을 적당한 위치에 압축을 풀어두세요.
4. Selenium 사용 예시
아래의 코드는 Selenium을 활용해 구글 페이지를 열고, 간단히 검색하는 예제입니다.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# ChromeDriver 경로 설정
driver = webdriver.Chrome('크롬 드라이버의 경로를 입력하세요')
# 웹페이지 열기
driver.get("https://www.google.com")
# 검색창 찾기
search_box = driver.find_element(By.NAME, "q")
# 검색어 입력 및 실행
search_box.send_keys("Selenium 초보자 가이드")
search_box.send_keys(Keys.RETURN)
# 결과가 로딩될 때까지 대기
time.sleep(5)
# 브라우저 종료
driver.quit()
5. Selenium 크롤링 팁
- 암시적 대기 (Implicit Wait)를 사용하면 웹 페이지의 요소가 로드될 때까지 일정 시간 기다립니다.
driver.implicitly_wait(10) # 10초 동안 요소가 나타날 때까지 기다림
- 명시적 대기 (Explicit Wait)는 특정 조건이 충족될 때까지 기다리는 방법입니다.
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'element_id')))
6. 마무리
Selenium을 통해 웹 자동화를 시작하는 것은 간단하지만, 웹사이트의 구조와 HTML 요소를 잘 파악하는 것이 중요합니다. 꾸준한 연습으로 다양한 사이트에서 원하는 데이터를 자유롭게 추출해 보세요!
반응형