前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >某坤学学吴亦凡,Python可视化分析「大碗宽面」b站弹幕和网易云音乐评论

某坤学学吴亦凡,Python可视化分析「大碗宽面」b站弹幕和网易云音乐评论

作者头像
小小詹同学
发布2019-05-07 11:19:51
6280
发布2019-05-07 11:19:51
举报
文章被收录于专栏:小詹同学小詹同学

本文转载自Python知识圈,禁二次转载

阅读文本大概需要 5 分钟。

上周五也就是 4 月 19 号吴亦凡官方发布了一首歌:大碗宽面,这首歌的官方版 MV 也同步发布在 b 站上了,初听感觉这首歌和普通歌也没什么区别,其实这首歌是吴亦凡对自己的一种自黑的梗。原梗是两年前的一个综艺节目上,吴亦凡表演了即兴的freestyle,我们先来看看原梗的视频。

这段说唱播出后被各大网友 diss,b 站上出现吴亦凡的各种鬼畜视频,吴亦凡不但没生气,最近出的这首大碗汤面的单曲也是圈粉无数啊,连 stormzhang 张哥也发文表示路转粉了,哈哈。没听过这首单曲的,可以点击下面 MV 视频听一下。

这样的自黑也是很大度啊,不像某坤,律师函警告你,真的是:全靠同行衬托啊。

其实这首歌年初就准备好了,也就是在某坤律师函警告你我们之前就制作好了这首歌,这次发出来是因为在 4 月 20 号在南京有个演唱会。

网友的反响到底如何呢?这次我分析了下 b 站的弹幕,和网易云音乐的评论,做成了词云图,让我们一起来一看究竟吧。

b 站弹幕

我在 b 站找到了这首MV的官方发布视频,截止到 4 月 20 号已经有 7.9 万的弹幕了,我们用 F12 调试工具就可以查到这首 MV 弹幕的 cid 数据。

这样通过下面链接我们就知道了弹幕的数据了。

代码语言:javascript
复制
http://comment.bilibili.com/87150521.xml

浏览器中打开这个链接我们可以看到只能显示 1000 条弹幕数据,那我们就来分析这 1000 条数据吧。

保存弹幕数据

为了防止频繁的爬起对 b 站服务器造成影响,我们一次性把这 1000 条弹幕先存在文件里。

把弹幕数据爬下来后,我们来看一下 csv 文件里的部分弹幕数据。

初步看一下上面的弹幕评论,大部分网友都在向吴亦凡道歉。

弹幕词云图

为了更清楚的看出网友的弹幕数据,pk 哥把这些数据进行分词后做成词云图,出现的词的次数多的话相应的字体也会比较大。

首先我们要导入要用到的几个库。

代码语言:javascript
复制
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
import pandas as pd
import jieba

然后我们对弹幕文件进行分析,统计词频并做成词云图。

代码中 font_path 表示的是电脑中用来显示词云图字体的路径,我用的是我 windows 电脑中的华文行楷字体,大家可以根据自己电脑存在的字体进行更换。

代码中我们还要给出生成词语图的背景图,我用的是吴亦凡的图片,为了防止侵权,pk 哥就不放出来背景图了,大家可以在 pk 哥公众号后台回复「skr」获取所有所有代码和背景图。

代码中我打印出词频前50的词,我们来看看。

代码语言:javascript
复制
[('对不起', 80), ('凡哥', 59), ('对不起凡哥', 58), ('吴亦凡', 33), ('对不起吴亦凡', 26), ('好听', 25), ('了凡哥', 21), ('真的', 20), ('这个 这个', 17), ('哈哈哈', 16), ('对不起1', 15), ('男人', 14), ('这个 大又圆', 13), ('哈哈哈哈', 11), ('凡哥 谢罪', 11), ('谢罪 凡哥', 11), ('了吴亦凡', 10), ('电鳗', 9), ('徐坤', 9), ('凡哥凡哥', 9), ('徐坤 进来', 9), ('了1', 8), ('注入', 8), ('进来', 8), ('对不起对不起', 8), ('我错', 7), ('这个 面它', 7), ('喜欢', 6), ('了对不起', 6), ('吴亦凡凡哥', 6), ('前方', 6), ('好听凡哥', 6), ('面它 这个', 6), ('转粉', 5), ('好听吴亦凡', 5), ('男人吴亦凡', 5), ('对不起你 这个', 5), ('满分', 4), ('灵魂凡哥', 4), ('明星', 4), ('我们', 4), ('凡哥1', 4), ('厉害', 4), ('大又圆凡哥', 4), ('哈哈哈凡哥', 4), ('转粉凡哥', 4), ('哈哈哈吴亦凡', 4), ('道歉', 4), ('还是', 4), ('可爱', 4)]

给出词云图的名称就可以把词云图保存在代码同级目录下了。

从词云图中看出大部分网友都在向凡哥道歉、谢罪,都被圈粉了。

网易云音乐评论

我们再来看一下大碗宽面在网易云音乐上的评论。截止到我统计的时候,已经有将近 15 万的评论了。

打开 F12 调试,NetWork 可以看到热门评论和普通评论。

在 Headers 请求头里,我们可以看到评论数据的链接,我们看到这是 post 的请求。

页面往下滑,我们会看到这些请求参数是加密的。

怎么来破解这些加密呢?pk 哥稍微折腾了一下就放弃了,因为我找到了官方提供的非加密的接口。

代码语言:javascript
复制
http://music.163.com/api/v1/resource/comments/R_SO_4_1359595520?limit=20&offset=0

其他歌曲的话把 R_SO_4_ 换成对应歌曲的 ID 就行,在网页版的云音乐进入对应的歌曲链接,最后会显示对应的 ID。

我们先写一个把网页内容转换为 Json 格式的方法。

热门评论词云图

接下来我们把热门评论生成词云图,生成的方法和弹幕数据生成词云图的方法类似,这里就不做赘述,直接看代码。

热门评论生成的词云图如下。

热门评论词语不太多,但隐约还是能看到坦荡和尊敬等字眼。

全部评论词云图

然后我们把普通评论也生成词云图,这里我只爬取了前 100 页的评论,为防止反爬,每爬取一页数据时我设置了随机等待时间。

普通评论生成的词云图如下。

普通评论的词就比较多,看起来也比较明显,「对不起」的占多数,「哈哈哈」的是其次,看来大部分人都在向吴亦凡道歉,对他这种自黑式的自嘲感觉很有意思,好感倍增。

本文的代码当然也适用于其他视频或者音乐的评论,如果你不想爬楼看评论,可以用此文的方法生成词云图,是不是很 skr。

PS:重要 skr 提醒,昨天的免费送 80 本 Python 书籍和当当优惠码 10000 份的活动还在继续,没参加的赶紧抓住这个清空个人书单购物车的机会了:送80本书+10000张优惠券,要干就干一票大的!,skr-skrrr。

本文所有代码和词云图在公众号后台回复「skr」获取。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小詹学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • b 站弹幕
  • 保存弹幕数据
  • 弹幕词云图
  • 网易云音乐评论
  • 热门评论词云图
  • 全部评论词云图
相关产品与服务
腾讯云图数据可视化
腾讯云图数据可视化(Tencent Cloud Visualization) 是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。精心预设多种行业模板,极致展示数据魅力。采用拖拽式自由布局,全图形化编辑,快速可视化制作。腾讯云图数据可视化支持多种数据来源配置,支持数据实时同步更新,同时基于 Web 页面渲染,可灵活投屏多种屏幕终端。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档