본문 바로가기
08.개발&프로그래밍/1.파이썬

3부. 실전 프로젝트와 분야별 응용 - 1. 웹 스크래핑으로 뉴스 데이터 수집하기 - BeautifulSoup과 requests 기초

by JWJ Family 2025. 7. 13.
728x90

자동으로 뉴스 정보를 수집하고 싶은가요? 이 글은 초보 개발자와 일반인을 대상으로, Python의 대표적인 웹 스크래핑 도구인 BeautifulSouprequests를 활용하여 뉴스 데이터를 수집하는 방법을 소개합니다. 데이터를 수집해보며 실전 프로젝트 감각을 익히는 좋은 기회가 될 것입니다.

1. 기본 개념 및 이론

웹 스크래핑(Web Scraping)은 웹페이지의 HTML 구조를 분석해 필요한 정보를 자동으로 추출하는 기법입니다. Python에서는 주로 requests로 웹페이지의 HTML 코드를 불러오고, BeautifulSoup으로 원하는 정보를 파싱(parsing)합니다.

  • requests: 웹사이트에 접속해 HTML을 받아오는 라이브러리
  • BeautifulSoup: HTML 코드를 분석하여 특정 요소를 찾거나 가공하는 도구

2. 실습 예제: 네이버 뉴스 제목 가져오기

아래 예제는 네이버 뉴스의 메인 페이지에서 주요 뉴스 제목을 수집하는 코드입니다.


import requests
from bs4 import BeautifulSoup

url = "https://news.naver.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 뉴스 제목 추출
headlines = soup.select('.hdline_article_tit a')
for idx, headline in enumerate(headlines, 1):
    print(f"{idx}. {headline.get_text(strip=True)}")

3. 출력 결과 및 설명

위 코드를 실행하면 주요 뉴스 제목들이 다음과 같이 출력됩니다:


1. 정부, 추가 부동산 정책 발표
2. AI로 인한 산업 구조 재편 가속
3. 삼성, 차세대 반도체 공개
...

힌트: 각 뉴스 제목에 링크도 함께 추출하고 싶다면 headline['href']를 활용해보세요.

정리 및 다음 단계 안내

이번 글에서는 Python으로 웹페이지에서 뉴스 데이터를 수집하는 기본적인 웹 스크래핑 방법을 배웠습니다. 다음 글에서는 공공데이터 포털 등에서 제공하는 오픈 API를 활용한 데이터 수집 방법을 다룰 예정입니다.

 

반응형