본문 바로가기
IT

파이썬으로 30분 만에 웹 스크래핑 시작하기

by 몽글몽글 스페이스 2025. 5. 16.

 

 

파이썬으로 30분 만에 웹 스크래핑 시작하기

웹에서 데이터를 수집하고 싶지만 어디서부터 시작해야 할지 모르시나요? 파이썬BeautifulSoup을 사용하면 초보자도 30분 만에 웹 스크래핑을 시작할 수 있습니다. 이 글에서는 네이버 뉴스 헤드라인을 크롤링하는 간단한 실습을 통해 웹 스크래핑의 기본을 배워봅니다. 2025년 데이터 분석 트렌드에서도 스크래핑은 필수 스킬로 주목받고 있어요(출처: 한국소프트웨어산업협회). 준비됐나요? 지금 바로 코딩 시작!

웹 스크래핑이란?

웹 스크래핑은 웹사이트에서 데이터를 자동으로 추출하는 기술입니다. 뉴스 제목, 제품 가격, 리뷰 등을 수집해 데이터 분석이나 프로젝트에 활용할 수 있죠. 이 실습에서는 무료 도구인 파이썬과 BeautifulSoup을 사용하며, 초보자도 쉽게 따라 할 수 있도록 구성했습니다.

*참고: 웹 스크래핑 시 사이트의 이용 약관과 robots.txt를 확인하세요. 무단 크롤링은 법적 문제를 일으킬 수 있습니다.*

준비물

  • 파이썬: Python 3.8 이상 (공식 사이트에서 무료 다운로드)
  • 라이브러리: requests, BeautifulSoup4
  • 에디터: VS Code 또는 PyCharm (무료)

설치가 안 됐다면, 터미널에서 아래 명령어로 라이브러리를 설치하세요:

pip install requests beautifulsoup4

네이버 뉴스 헤드라인 크롤링 실습

네이버 뉴스 페이지에서 최신 헤드라인을 수집하는 간단한 파이썬 코드를 작성해보겠습니다. 이 코드는 뉴스 제목을 추출해 출력합니다.

1. 코드 작성

파이썬 웹 스크래핑 코드 실행 화면

아래는 실습 코드입니다. 새 파일(예: `scraper.py`)에 저장하세요.


import requests
from bs4 import BeautifulSoup

# 네이버 뉴스 페이지 URL
url = "https://news.naver.com/main/ranking/popularDay.naver"
headers = {"User-Agent": "Mozilla/5.0"}  # 봇 차단 방지

# 웹 페이지 요청
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

# 헤드라인 추출
headlines = soup.select(".list_title")
for i, headline in enumerate(headlines[:5], 1):
    title = headline.get_text().strip()
    print(f"{i}. {title}")
        
: `User-Agent` 헤더를 추가해 차단을 방지하세요. 네이버는 빈번한 요청 시 차단할 수 있으니, 1~2초 대기 시간 추가 추천.

2. 코드 실행

터미널에서 다음 명령어를 입력해 코드를 실행합니다:

python scraper.py

실행하면 네이버 뉴오늘의 랭킹 뉴스 상위 5개 제목이 출력됩니다.

3. 결과 확인

출력 예시:


1. [속보] 정부, 비상경제장관회의 개최
2. 서울 아파트 매매가 3개월 연속 상승
3. 테슬라, 한국 시장 진출 확대 발표
4. 기상청, 주말 폭우 예보
5. K-콘텐츠, 글로벌 시장 점유율 1위
        
네이버 뉴스 헤드라인 출력 결과
: 결과를 CSV 파일로 저장하려면 `import csv`로 파일 출력 코드 추가 가능.

스크래핑 팁과 주의사항

  • 윤리적 스크래핑: 사이트의 robots.txt를 확인하고, 과도한 요청은 피하세요.
  • 에러 처리: `try-except`로 네트워크 오류 대비하세요.
  • 한국 리소스: 공공 데이터 포털(data.go.kr)에서 무료 API로 연습 가능.
  • 속도 개선: `time.sleep(2)`로 요청 간격 조절해 차단 방지.

마무리

파이썬 웹 스크래핑은 데이터 분석, 자동화 프로젝트의 첫걸음입니다. 이 실습을 통해 BeautifulSoup의 기본을 익혔으니, 이제 쇼핑몰 가격이나 SNS 데이터를 크롤링해보세요! 어떤 데이터가 가장 궁금하시나요? 댓글로 공유하거나, 더 많은 스크래핑 프로젝트 아이디어가 필요하다면 알려주세요!

*참고: 웹 스크래핑은 법적, 윤리적 가이드라인을 준수해야 합니다. 상업적 사용 전 사이트 정책과 전문가 상담 필수.*