[2주차_데이터분석] 개발일지 (크롤링 연습, 워드 클라우드 만들기-2)

Coastby·2022년 7월 5일
0
post-custom-banner

[네이버 영화 줄거리로 워드클라우드 만들기]

네이버 영화 페이지에서 줄거리를 크롤링하여 워드 클라우드를 만들어본다.
1. 네이버 영화 줄거리 크롤링
2. 👉워드 클라우드 만들기👈

[목차]:워드클라우드 만들기

  • 데이터프레임 불러오기
  • 한글 폰트 및 패키지 세팅
  • 토큰화 및 불용어 제거
  • 단어들을 하나의 리스트로 합치기
  • 워드 클라우드 만들기

👉 데이터 프레임 불러오기

○ csv 파일 불러오기

import pandas as pd

movies = pd.read_table('naver_movies.csv', sep=",")

○ 결측치 제거하기

movies.dropna(inplace=True)

👉 한글 폰트 및 패키지 세팅

# 한글폰트
import matplotlib as mpl
import matplotlib.pyplot as plt
 
%config InlineBackend.figure_format = 'retina'
 
!apt -qq -y install fonts-nanum
 
import matplotlib.font_manager as fm
fontpath = '/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf'
font = fm.FontProperties(fname=fontpath, size=9)
plt.rc('font', family='NanumBarunGothic') 
mpl.font_manager._rebuild()

# 워드클라우드 임포트
from wordcloud import WordCloud
import matplotlib.pyplot as plt # 한글폰트 세팅할 때 불러왔었던 패키지!

👉 토큰화 및 불용어 제거

○ 토큰화

!pip install konlpy # konlpy 패키지 설치
from konlpy.tag import Okt # Okt 모듈 불러오기

tokenizer = Okt() # tokenizer 라는 이름으로 Okt 모듈 사용!
# 토큰화 진행
movies['Content'] = movies['Content'].apply(tokenizer.nouns)

○ 불용어 제거

# 나만의 불용어 정의
stop_words = ['함께', '자신', '그', '그리고', '그들', '그녀', '다시', '위해', '아버지', '사람', '때문', '한편', '시작', '모든', '영화', '로부터', '모두', '더욱', '하나', '타고', '동안', '계속', '사실', '대한', '사이', '간다', '마침내', '자기', '보고', '다른', '이제', '역시', '가운데' '겨우', '또한']

# 불용어 제거
movies['Content'] = movies['Content'].apply(lambda x: [item for item in x if item not in stop_words and len(item) > 1])

👉 단어들을 하나의 리스트로 합치기

import numpy as np

content_word = np.hstack(movies['Content'].values)
print(content_word)

#Result
['시절' '세상' '전부' ... '햄릿' '상처' '서서히']

👉 워드 클라우드 만들기

plt.figure(figsize = (15,15))
temp_data = ' '.join(content_word)
wc = WordCloud(max_words = 2000 , width = 1600 , height = 800, font_path = fontpath).generate(temp_data)
plt.imshow(wc, interpolation = 'bilinear')

profile
훈이야 화이팅
post-custom-banner

0개의 댓글