上一篇python爬取乘風破浪的姐姐彈幕–芒果TV爬蟲,將乘風破浪的姐姐前四集的彈幕全部爬下來之後,可以爲小姐姐們做一個詞雲打call圖
import json
import pandas as pd
from wordcloud import WordCloud, ImageColorGenerator
import imageio
import seaborn as sns
import matplotlib.pyplot as plt
import jieba
import collections # 詞頻統計庫
#畫1個詞雲圖
def get_photo(name):
#設置停止詞
stop_words = []
with open(r"/Users/nika/Desktop/chineseStopWords.txt") as f:
lines = f.readlines()
for line in lines:
stop_words.append(line.strip())
#自定義停止詞
my_stop_words = ['第一期', '一堆', '三個', '真的', '哈哈哈', '哈哈哈哈', '啊啊啊']
stop_words.extend(my_stop_words)
#分詞
dff_sel = dff[dff.content.str.contains(name)]
seg_list_exact = jieba.cut(dff_sel['content'].str.cat(sep='。'), cut_all=False) # 精確模式分詞
object_list = []
for word in seg_list_exact: # 循環讀出每個分詞
if word not in stop_words: # 如果不在去除詞庫中
object_list.append(word) # 分詞追加到列表
word_counts = collections.Counter(object_list) # 對分詞做詞頻統計
#讀取背景圖片
re_pic='/Users/nika/Desktop/jiejie/'+name+'.png'
mk = imageio.imread(re_pic)
wordcloud = WordCloud(background_color='white',
#設置字體爲中文字體!!!
font_path="/Library/Fonts/Songti.ttc",
#設置清晰度
scale=15,mask=mk,stopwords=stop_words).generate_from_frequencies(word_counts) # 從字典生成詞雲
image_colors = ImageColorGenerator(mk)
#將圖片顏色應用到詞雲中
wc_color = wordcloud.recolor(color_func=image_colors)
new_pic='/Users/nika/Desktop/jiejie/'+'new_'+name+'.png'
#保存圖片
wc_color.to_file(new_pic)
plt.imshow(wc_color)
這裏我提前下載了每個姐姐的白底圖片,並以 姐姐姓名+“.png” 保存在了桌面的“jiejie”文件夾裏,生成的詞雲圖就以’new_’+姐姐姓名+’.png’保存在同一個文件夾。大家可以根據需求自行修改哈
#搞一下靜姐試試
name='寧靜'
get_photo(name)
沒什麼問題,就給每個姐姐都做一張吧
my_words_list =['袁詠琳','朱婧汐','鍾麗緹','王智','沈夢辰','陳松伶','阿朵','白冰','海陸','劉芸','孟佳','金莎','伊能靜','王霏霏','許飛','張萌',
'黃齡','吳昕','金晨','王麗坤','李斯丹妮','藍盈瑩','張含韻','鄭希怡','寧靜','鬱可唯','黃聖依','丁當','萬茜','張雨綺']
for name in my_words_list:
get_photo(name)
下面爲大家表演一個端水