글 목록으로 돌아가기

Python

크롤링

Python 웹 크롤링, HTML/XML 파싱, JSON 처리, Selenium 자동화 정리

Dohyeon Kim
Dohyeon Kim 2026년 7월 9일 · 1분 읽기
Python AutoEverSW

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())
  • 불법적인 데이터 수집 금지

댓글