Python
크롤링
Python 웹 크롤링, HTML/XML 파싱, JSON 처리, Selenium 자동화 정리
1) 웹 크롤링 개요
- 웹 페이지에서 데이터를 수집하는 기술
- 정적 크롤링: HTML 소스를 직접 파싱 (BeautifulSoup)
- 동적 크롤링: 브라우저를 통해 렌더링된 데이터 수집 (Selenium)
2) BeautifulSoup
from bs4 import BeautifulSoup
import requests
response = requests.get("https://example.com")
soup = BeautifulSoup(response.text, "html.parser")
# 태그 찾기
soup.find("div")
soup.find_all("a")
soup.select(".class-name")
3) Selenium
브라우저 자동화 도구, 동적 페이지 크롤링에 사용
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
# 요소 찾기
driver.find_element_by_id("id")
driver.find_element_by_css_selector(".class")
driver.quit()
4) JSON 처리
import json
data = {"name": "Kim", "age": 20}
json_str = json.dumps(data) # Python → JSON 문자열
parsed = json.loads(json_str) # JSON 문자열 → Python dict
5) 주의사항
robots.txt확인 (크롤링 허용 범위)- 과도한 요청은 서버에 부하 → 적절한 지연 필요 (
time.sleep()) - 불법적인 데이터 수집 금지
댓글