BeautifulSoup으로 데이터 추출하기
# HTML 문서 파싱하기
from
bs4
import
BeautifulSoup
html = resp.text
soup = BeautifulSoup(html,
'html.parser'
)
# 태그로 찾기
titles = soup.
find_all
(
'h3'
,
class_
=
'news_tit'
)
# CSS 선택자로 찾기 (더 간편)
titles = soup.
select
(
'h3.news_tit'
)
# 텍스트 추출하기
for
title
in
titles:
print(title.
text
.strip())
print(title.
get
(
'href'
))
# 링크 추출
BeautifulSoup 주요 메소드
find()
- 조건에 맞는 첫 번째 태그만 찾기
find_all()
- 조건에 맞는 모든 태그 찾기
select_one()
- CSS 선택자로 첫 번째 태그 찾기
select()
- CSS 선택자로 모든 태그 찾기
실전 활용 팁
CSS 선택자가 HTML 구조 파악에 더 직관적입니다:
div.news_area > a.title
- 자식 선택
div#main_content h3
- 하위 요소 선택
a[href*="naver"]
- 속성으로 선택
결과 예시
뉴스 제목:
"파이썬으로 데이터 수집, 분석까지 한번에"
"웹 크롤링 실무에서 이렇게 활용한다"
"AI 시대, 데이터 수집 자동화 필수"