파이썬 웹 크롤링 입문 3강에 오신 걸 환영합니다!
이번 강의에서는 지난 시간에 크롤링한 뉴스 기사 제목 데이터를 **CSV 파일로 저장**하고, 이 데이터를 **엑셀에서 열어보는 방법**을 알려드릴게요.
크롤링만으로는 데이터를 활용하기 어렵지만, 파일로 저장하면 분석이나 보고서 작성 등 다양한 방식으로 확장할 수 있습니다.
—
1. CSV란?
CSV(Comma-Separated Values)는 **쉼표로 구분된 텍스트 데이터** 형식입니다. 엑셀에서도 손쉽게 열 수 있어 데이터 저장에 매우 널리 사용됩니다.
예시:
제목
기사 제목 1
기사 제목 2
기사 제목 3
파이썬에서는 `csv` 모듈을 사용해 간편하게 파일을 저장할 수 있습니다.
—
2. 실습: 기사 제목을 CSV 파일로 저장하기
이번엔 네이버 뉴스에서 기사 제목을 10개 크롤링한 뒤, 이를 CSV 파일로 저장해보겠습니다.
✅ 코드:
“`python
import requests
from bs4 import BeautifulSoup
import csv
url = “https://news.naver.com”
response = requests.get(url)
soup = BeautifulSoup(response.text, “html.parser”)
# 예시용: 기사 제목 리스트 수집
titles = []
links = soup.find_all(“a”, class_=”link_thumb”)
for tag in links[:10]:
title = tag.get_text(strip=True)
if title:
titles.append(title)
# CSV 파일로 저장
with open(“news_titles.csv”, “w”, encoding=”utf-8-sig”, newline=””) as f:
writer = csv.writer(f)
writer.writerow([“기사 제목”])
for t in titles:
writer.writerow([t])
print(“CSV 저장 완료!”)
“`
✅ 설명:
– `utf-8-sig` 인코딩을 사용하면 엑셀에서 한글이 깨지지 않음
– `newline=””`은 윈도우에서 줄바꿈 오류 방지
—
3. 저장된 파일 엑셀에서 열기
`news_titles.csv` 파일은 엑셀에서 바로 열 수 있으며, 기사 제목이 한 줄씩 잘 정리되어 있습니다.
이후에는 엑셀에서 정렬, 필터링, 요약 등의 기능을 활용하여 데이터를 분석하거나 보고서로 사용할 수 있습니다.
—
4. 엑셀(xlsx)로 직접 저장하고 싶다면?
`openpyxl` 라이브러리를 사용하면 바로 `.xlsx` 파일로 저장할 수도 있습니다.
“`python
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = “뉴스 제목”
ws.append([“기사 제목”])
for t in titles:
ws.append([t])
wb.save(“news_titles.xlsx”)
“`
—
📌 오늘의 요약
- 크롤링한 데이터는 CSV로 저장해 엑셀에서 쉽게 활용 가능
- csv 모듈 또는 openpyxl을 활용해 자동 저장 처리 가능
- 데이터 저장은 분석, 시각화, 자동 보고서 작성의 출발점
—
📘 다음 강의 예고
4강: 여러 페이지 크롤링하기 – 페이지를 넘기며 뉴스 수집 자동화
다음 시간에는 뉴스 목록처럼 여러 페이지에 걸쳐 있는 데이터를 어떻게 반복적으로 크롤링하는지 배웁니다. URL 패턴 파악, 반복문, delay 처리까지 실무에 꼭 필요한 내용을 담았습니다.
—
이 강의는 파이썬 웹 크롤링 입문자를 위한 연재 시리즈입니다. 매주 새로운 강의로 업데이트됩니다.