python给乘风破浪的姐姐制作词云打call图

本文介绍了一种使用Python爬虫抓取《乘风破浪的姐姐》节目弹幕的方法,并利用jieba分词和WordCloud库为每位姐姐生成个性化的词云图,展示了如何设置停止词、读取背景图片以及调整词云样式。

上一篇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)

下面为大家表演一个端水
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值