• 昨天期待已久的江湖武侠剧《说英雄谁是英雄》上线了,其实我是超越妹妹的粉丝,就去看了看,感觉打戏还不错;就想着看看首播情况咋样,弹幕友不友好,就有了这篇博客,我只爬取了第一二集的将近5万条弹幕(我才不会说是没钱买会员),制作了弹幕的词云图。跟随我一起看看首播,大家是怎么看待的吧!
import requests  # 获取网址
import warnings  # 忽略红字警告
import jieba     # 分词专用
from wordcloud import WordCloud  # 词云图制作
import collections  # 统计分词后的频次
import matplotlib.pyplot as plt  # 画图
from imageio import imread  # 自定义背景图 读取图片warnings.filterwarnings('ignore')  # 忽略红字警告
# 解决不显示中文
plt.rcParams['font.sans-serif'] =['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = Falsecon = []  # 存放评论
# 爬弹幕函数
def pa(url,t):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"} # 请求头# 最终得到的能控制弹幕的参数是target_id和timestamp,tiemstamp每30请求一个包,target_id控制集数。for t in range(0,t,30): # t控制弹幕所在页数即tiemstamp data = {"timestamp":t} # 设置tiemstamp参数response = requests.get(url,headers=headers,params=data,verify=False).json(strict=False) # 弹幕存在于json数据中,利用json解析if response['count'] != 0: #判断弹幕数量,确实是否爬取结束for comment in response['comments']: # 弹幕全部存在于comments键中 comment指的是每条弹幕及相关用户信息等content = comment['content'] # 只获取弹幕contentcon.append(content) # 添加到列表con中else : # 当response['count'] = 0即当前页码弹幕数为0时,计结束爬取print('爬取结束!')break
urls = ['https://mfm.video.qq.com/danmu?target_id=7845064721%26vid%3Dy00420wuzxh', # 第一集'https://mfm.video.qq.com/danmu?target_id=7845064872%26vid%3Dm0042yeulp0'] # 第二集      #  tiemstamp=3300一后的弹幕数为0,这里其实可以随便设置大一些都可以
for url in urls:         pa(url,3300)
# 将所有弹幕连在一起,方便分词
data = "".join(con[i] for i in range(len(con)))
# 设置这些词语不分开;例如杨超越默认是杨和超越是两个词语,这样会影响结果分析;
# 因此需设置固定搭配词语不分离。
word = ['杨超越','白愁飞','王小石','温柔','刘宇宁','李木戈','曾舜晞','陈楚河']
for i in word:jieba.add_word(i, freq=None, tag=None)# 读取停用词数据 用的是baidu停用词
stopwords = pd.read_csv('baidu_stopwords.txt', encoding='utf8', names=['stopword'], index_col=False)# 分词,如果分词后的词语不在停用词且长度大于1,则加入分析词中;否则删除不分析
stop_list = stopwords['stopword'].tolist()
text = jieba.cut(data)
result_list= []
for word in text:if word not in stop_list and len(word) > 1:result_list.append(word)         # 筛选后统计词频
word_counts = collections.Counter(result_list)
# 获取前20最高频的词
word_counts_top = word_counts.most_common(20)
print(word_counts_top)
[('英雄', 4798), ('温柔', 3700), ('白愁飞', 3492), ('哈哈哈', 2594), ('白菜', 2288),
('飞飞', 1334), ('刘宇宁', 1331), ('哈哈哈哈', 1139), ('大白菜', 893), ('石头', 851),
('王小石', 690), ('喜欢', 618), ('超越', 606), ('大白', 594), ('感觉', 593),('杨超越', 575), ('好看', 534), ('宁哥', 534), ('真的', 502), ('好帅', 486)]
a = imread('ycy.jpg') # 读取自定义背景图my_cloud = WordCloud(mask = a,background_color='white',  # 设置背景颜色  默认是blackwidth=1000, height=800,max_words=150,            # 词云显示的最大词语数量font_path='simhei.ttf',   # 设置字体  显示中文max_font_size=120,         # 设置字体最大值min_font_size=20,         # 设置字体最小值random_state=30           # 设置随机生成状态,即多少种配色方案
).generate_from_frequencies(word_counts)# 显示生成的词云图片
plt.figure(figsize=(20,6))
plt.imshow(my_cloud, interpolation='bilinear')
# 显示设置词云图中无坐标轴
plt.axis('off')
plt.show()

  • 首先映入眼帘的就是温柔(杨超越饰演角色)、白菜和白愁飞(刘宇宁饰演角色和外号)、英雄、哈哈哈(看起来这剧笑点应该还是挺多的);
  • 最后,超越妹妹yyds。(不接受任何反驳)

《说英雄谁是英雄》首播,50000条弹幕词云图制作相关推荐

  1. THE9爱奇艺扫楼 弹幕热度排名及词云图制作

    目录 1. 简介 2. 弹幕数据的获取 2.1 导包 2.2 获取数据 3. 分析数据 3.1 统计每个Id的弹幕数,看是否有恶意刷屏 4. 热度统计 4.1 涉及每名成员的弹幕数量 4.2 涉及每名 ...

  2. 9 万条弹幕告诉你,《乘风破浪的姐姐》里谁才是真正的C位?

    作者 | Mika 出品 | CDA数据分析师(ID:cdacdacda) 今天我们来聊聊最近火到不行的综艺--<乘风破浪的姐姐>,Python分析弹幕部分请看第四部分.点击下方视频,先睹 ...

  3. 用Python分析《令人心动的offer2》的13万条弹幕,网友们都在吐槽什么?

    公众号后台回复"图书",了解更多号主新书内容 作者:J哥 来源:菜J学Python 前言 大家好,我是J哥. 综艺,是我们劳累了一天的放松方式,也是我们饭后的谈资.看着自己喜欢的综 ...

  4. 9万条弹幕告诉你,《乘风破浪的姐姐》里谁才是真正的C位?

     CDA数据分析师 出品   作者:Mika 数据:真达   后期:泽龙 [导语]:今天我们来聊聊最近火到不行的综艺--<乘风破浪的姐姐>,Python分析弹幕部分请看第四部分. 获取数据 ...

  5. python弹幕拼脸_利用python爬取分析《隐秘的角落》20万+条弹幕,发现了这些..

    图片源自网路 要说近期最火的国产剧,非<隐秘的角落>不可.该剧改编自紫金陈的推理小说<坏小孩>,讲述了沿海小城的三个孩子在景区游玩时,无意拍摄记录了一次谋杀,他们的冒险也由此展 ...

  6. Python分析《蜘蛛侠:英雄远征》11万条猫眼评论

    分析蜘蛛侠11万条猫眼评论 一.需要用的模块 panda(用来读取文件) pyecharts (绘制图表) matplotlib (绘图) wordcloud (制作词云) jieba (中文分词) ...

  7. 太敢拍了!20万条弹幕告诉你,《扫黑风暴》为何能掀起收视热潮?

    CDA数据分析师 出品 作者:Mika 数据:曹鑫 2021年暑期档热度最高.最出圈的电视剧莫过于<扫黑风暴>了. 这部扫黑题材的电视剧<扫黑风暴>一开播就火了.开播仅六小时播 ...

  8. 【Python3爬虫】我爬取了七万条弹幕,看看RNG和SKT打得怎么样

    一.写在前面 直播行业已经火热几年了,几个大平台也有了各自独特的"弹幕文化",不过现在很多平台直播比赛时的弹幕都基本没法看的,主要是因为网络上的喷子还是挺多的,尤其是在观看比赛的时 ...

  9. 利用python对b站某GPT-4解说视频的近万条弹幕进行爬取、数据挖掘、数据分析、弹幕数量预测及情绪分类

    目录 一.利用Python爬取弹幕 二.利用几行代码直接生成词云 三.将弹幕属性和内容放入mysql当中 四.分析弹幕在视频各节点的数量 1.分析视频各个片段出现的弹幕数量 2.分析视频各大章节出现的 ...

最新文章

  1. 新浪微博的“独立”与互联网社区的“群居”
  2. Python 缩进问题-inconsistent use of tabs and spaces in indentation.原因及解决方法
  3. wxHtml 示例:关于对话框测试
  4. MySQL备份与恢复——基于Xtrabackup物理备份恢复
  5. ASP.NET Core端点路由中三种让人困惑的路由函数
  6. ASP.NET Core 2.1 : 十一. 如何在后台运行一个任务
  7. 语言差异引起的问题解决一例
  8. mysql查询开启事务_MySQL中的查询事务问题
  9. ajax中return取不到值的问题
  10. html禁止页面动画,如何在页面加载时阻止CSS动画?
  11. python中有readall吗_在python中使用tn.read_all()读取数据
  12. 输出表格csv_自动提取生成excel表格!推荐一款开源工具
  13. SQLServer如何在批量插入后,获取批量插入的自增列的值
  14. html怎么把新闻列表放在右边,div+css实现简洁、清晰的新闻列表样式(浮动使日期靠右)...
  15. 双人贪吃蛇java 代码_java 双人贪吃蛇
  16. 基于区块链的食品安全溯源系统
  17. python 倒计时库_python实现倒计时小工具
  18. 卫生事业单位计算机科学与技术,卫生事业单位考试(计算机科学与技术)知识点.doc...
  19. 计算机中模板与母版的区别,ppt中母版模板主题版式之间的区别和联系?
  20. linux下怎么玩模拟人生4,《模拟人生4》典藏版晶锥灯在非游戏状态下的使用图文教程...

热门文章

  1. mongodb查询某一天的数据
  2. 莫欺少年穷的底层逻辑
  3. 工地智能安全帽方案/设计案列/APP
  4. 如何用ChatGPT分析品牌舆论传播概况,并给到处理建议?
  5. html设置上传文件类型压缩包,html5 上传压缩文件类型限制解决方案
  6. C++ 结构体指针与结构体数组的赋值
  7. 天正立面lisp什么意思_天正建筑图层中各英文字母各代表什么图层
  8. c语言-输出带框文字
  9. 基于JSP java家政服务管理系统
  10. 补救灰暗照 美图秀秀打造清新糖水片