
BeautifulSoup은 HTML 문서를 파싱해서 원하는 요소(제목, 본문, 링크 등)를 쉽게 추출할 수 있게 해주는 라이브러리입니다.
웹 크롤링의 핵심이라고 할 수 있습니다.
✔ 왜 필요한가?
requests는 HTML 문서를 “가져오는” 역할이고,
BeautifulSoup는 HTML 문서를 “해석해서 필요한 부분만 추출”하는 역할입니다.
✔ 이런 사람에게 필수!
- 블로그 제목·본문을 수집하고 싶은 사람
- 뉴스 기사 목록을 자동으로 가져오고 싶은 사람
- 특정 태그(class, id)를 정교하게 추출하고 싶은 사람
✔ 예제 — 텍스트만 추출
from bs4 import BeautifulSoup
html = "
Hello World
"
soup = BeautifulSoup(html, "html.parser")
print(soup.text)
✔ 예제 — 실제 웹페이지에서 제목 추출
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
title = soup.find("h1")
print("페이지 제목:", title.text)
✔ 실전 팁
- soup.find() → 단일 요소
- soup.find_all() → 여러 요소 리스트
- CSS 셀렉터를 사용할 때는 select() 또는 select_one()
✔ 총평
bs4는 크롤링의 ‘두뇌’입니다.
HTML 구조만 이해하면 원하는 내용을 고르고 뽑아낼 수 있습니다.