오늘은 파이썬으로 "웹 스크래퍼(Web Scraper)"를 만들어보는 방법을 소개하려고 합니다. 🐍
웹 스크래핑은 인터넷에서 데이터를 자동으로 가져오는 기술로, 뉴스 크롤링, 가격 비교, 데이터 수집 등 다양한 곳에 활용됩니다.
파이썬의 BeautifulSoup 라이브러리를 사용하면 웹 데이터를 손쉽게 추출할 수 있습니다.
지금부터 간단한 예제를 함께 만들어볼까요? 🚀
준비물
웹 스크래핑을 시작하기 전에 필요한 환경과 라이브러리를 설치해야 합니다.
1️⃣ Python 설치
파이썬이 설치되어 있지 않다면 Python 공식 사이트에서 설치해주세요.
2️⃣ 필수 라이브러리 설치
아래 명령어를 실행해 필요한 라이브러리를 설치합니다.
pip install requests beautifulsoup4
pip install requests
3️⃣ PyCharm 설치
PyCharm 공식 홈페이지에서 통합 개발 환경(IDE)을 설치하세요. 이를 통해 코드를 더 편리하게 작성하고 실행할 수 있습니다.
코드 작성 및 실행
아래는 네이버 뉴스에서 제목과 링크를 가져오는 Python 코드입니다.
import requests
from bs4 import BeautifulSoup
# 1. 스크래핑할 URL 설정
url = "https://news.naver.com/" # 실제 URL로 변경
# 2. 웹 페이지 요청
response = requests.get(url)
if response.status_code == 200:
# 3. BeautifulSoup으로 HTML 파싱
soup = BeautifulSoup(response.text, 'html.parser')
# 4. 클래스명이 'cnf_news_area'인 <a> 태그 선택
news_links = soup.select('a.cnf_news_area')
# 5. 제목과 링크 출력
for idx, link in enumerate(news_links, start=1):
title = link.select_one('strong.cnf_news_title').text.strip() # 제목 추출
href = link.get('href', '링크 없음') # 링크 추출
print(f"{idx}. {title} ({href})")
else:
print(f"HTTP 요청 실패: {response.status_code}")
코드 설명
1️⃣ requests로 웹 페이지 요청
requests.get(url)로 네이버 뉴스 페이지의 HTML 데이터를 가져옵니다. HTTP 상태코드가 200일 때만 크롤링을 진행합니다.
2️⃣ BeautifulSoup으로 HTML 파싱
HTML 코드를 구조적으로 파싱해 데이터를 쉽게 추출할 수 있도록 합니다.
3️⃣ CSS 선택자로 데이터 추출
soup.select('a.cnf_news_area'): 뉴스 링크를 포함하는 <a> 태그를 선택합니다.
link.select_one('strong.cnf_news_title'): 뉴스 제목을 포함한 <strong> 태그를 선택해 텍스트를 추출합니다.
4️⃣ 출력
제목과 링크를 한 줄씩 출력합니다.
실행 결과

마무리
이 글에서는 파이썬과 BeautifulSoup을 사용해 네이버 뉴스 제목과 링크를 가져오는 간단한 크롤러를 작성해 보았습니다. 앞으로 추가적인 데이터를 수집하거나 크롤링 결과를 파일로 저장하는 등 다양한 확장 기능을 추가해 보세요.
더 궁금한 점이 있다면 댓글로 남겨주세요! 😊
'프로그래밍 > Python' 카테고리의 다른 글
파이썬 리스트 vs 딕셔너리 차이점 정리: 언제 어떤 자료형을 써야 할까? (0) | 2025.03.18 |
---|---|
🏆 Python 개발자라면 꼭 알아야 할 PyCharm 꿀기능 4가지 (2) | 2025.03.14 |
[python] Selenium Errror | ValueError: Timeout value connect was <object object at 0x1034647c0>, but it must be an int, float or None (0) | 2023.10.10 |
[python] 코인 자동 매매 프로그램 만들기 (4) - 메세지 보내기 (0) | 2023.01.03 |
[python] 코인 자동 매매 프로그램 만들기 (3) - 설정 관리 (0) | 2022.06.19 |