본문 바로가기
BIG DATA/PYTHON

[PYTHON] 파이썬 웹 크롤링 데이터를 활용한 데이터 분석

by 라일리T 2025. 2. 23.

웹 크롤링 데이터를 활용한 데이터 분석

 

이전 글에서는 **웹 크롤링(Web Scraping)**을 이용해 웹에서 데이터를 수집하는 방법을 배웠습니다.
그렇다면 크롤링한 데이터를 어떻게 활용할 수 있을까요?
이번 글에서는 웹 크롤링한 데이터를 데이터 분석에 활용하는 방법을 배워보겠습니다.

 

 

 

[PYTHON] 파이썬을 활용한 웹 크롤링(Web Crawling) 기초

파이썬을 활용한 웹 크롤링(Web Scraping) 기초인터넷에는 다양한 데이터가 존재합니다.하지만 모든 데이터를 직접 다운로드할 수 있는 것은 아니므로, **웹 크롤링(Web Scraping)**을 사용하여 원하는

englishforkid.tistory.com

 


1. 크롤링한 데이터 저장하기

1.1 CSV 파일로 저장

웹에서 가져온 데이터를 CSV 파일로 저장하면, 엑셀이나 Pandas에서 쉽게 분석할 수 있습니다.

📌 예제: 뉴스 제목을 크롤링하여 CSV로 저장하기

import requests
from bs4 import BeautifulSoup
import pandas as pd

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

# 뉴스 제목 가져오기
news_titles = soup.find_all("a", class_="nclicks")

# 리스트에 저장
data = []
for title in news_titles:
    data.append(title.text.strip())

# 데이터프레임 생성
df = pd.DataFrame(data, columns=["News Title"])

# CSV 파일로 저장
df.to_csv("news_titles.csv", index=False, encoding="utf-8-sig")

print("CSV 파일 저장 완료!")

Pandas를 사용하여 CSV로 변환
✅ index=False → 불필요한 인덱스 제거
✅ encoding="utf-8-sig" → 한글 깨짐 방지


2. Pandas를 활용한 데이터 분석

2.1 CSV 파일 불러오기

df = pd.read_csv("news_titles.csv")
print(df.head())  # 상위 5개 데이터 출력

2.2 데이터 개수 확인

print("총 데이터 개수:", len(df))

2.3 특정 키워드가 포함된 뉴스 찾기

keyword = "경제"  # 찾고 싶은 키워드
filtered_df = df[df["News Title"].str.contains(keyword, na=False)]
print(filtered_df)

3. 데이터 시각화

크롤링한 데이터를 시각화하면 더 직관적으로 분석할 수 있습니다.

📌 예제: 단어 빈도수 분석

from collections import Counter
import matplotlib.pyplot as plt
import seaborn as sns
import re

# 뉴스 제목 불러오기
titles = df["News Title"].dropna().tolist()

# 텍스트 전처리 (특수문자 제거)
text = " ".join(titles)
text = re.sub(r"[^가-힣\s]", "", text)

# 단어별 빈도수 계산
words = text.split()
word_count = Counter(words)

# 상위 10개 단어 시각화
top_words = word_count.most_common(10)
words, counts = zip(*top_words)

plt.figure(figsize=(10, 5))
sns.barplot(x=list(words), y=list(counts), palette="coolwarm")
plt.title("뉴스 제목 단어 빈도수")
plt.xlabel("단어")
plt.ylabel("빈도수")
plt.xticks(rotation=45)
plt.show()

✅ **텍스트 전처리 (re.sub)**로 특수문자 제거
Counter로 단어 빈도수 분석
Matplotlib + Seaborn으로 시각화


4. 크롤링 데이터 활용 예시

💡 웹 크롤링 데이터를 활용한 다양한 프로젝트 아이디어
✅ 뉴스 데이터를 분석하여 핫 트렌드 예측
✅ 블로그/커뮤니티 데이터를 분석하여 사용자 반응 분석
✅ 주식 뉴스 크롤링하여 종목별 키워드 추출


5. 결론

이번 글에서는 웹 크롤링한 데이터를 활용하여 데이터 분석하는 방법을 배웠습니다.

  • 크롤링 데이터를 CSV로 저장
  • Pandas를 이용한 데이터 분석
  • Matplotlib & Seaborn을 활용한 시각화

다음 글에서는 **자동화된 웹 크롤링(셀레니움 활용)**을 배워보겠습니다! 🚀

 

 

[PYTHON] 파이썬 기초: 변수와 데이터 타입 이해하기

파이썬 기초: 변수와 데이터 타입 이해하기 파이썬을 배우면서 가장 먼저 익혀야 할 개념 중 하나가 변수(variable)와 데이터 타입(data type) 입니다. 변수를 사용하면 데이터를 저장하고 조작할 수

englishforkid.tistory.com

 

 

[PYTHON] 데이터 분석을 위한 파이썬 라이브러리: NumPy와 Pandas 기초

데이터 분석을 위한 파이썬 라이브러리: NumPy와 Pandas 기초데이터 분석에서 빠른 연산과 효율적인 데이터 처리는 필수입니다.파이썬에는 이를 위해 NumPy와 Pandas라는 강력한 라이브러리가 있습니

englishforkid.tistory.com