欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

热门B站视频引发热议,弹幕评论都有哪些亮点?

最编程 2024-07-26 16:24:08
...

Hello 大家好,我是安哥。

最近 B 站上有一个超火且非常*的视频《蜜雪冰城主题曲MV 中英双语版》,视频中原来的歌词是「你爱我,我爱你,蜜雪冰城甜蜜蜜」。

看到有些网友在弹幕中把它篡改成「你碍我,我碍你,你学编程天灭你」,哈哈哈哈哈。

网络异常,图片无法展示
|

为了弄清这些有趣的网友都在弹幕中说了啥,结合我之前学会的一点 Python 爬虫的知识,我用 Python 抓取了这个视频的所有弹幕,并将弹幕做成了如下的词云图

词云图会自动将比较长的弹幕拆分成单个的词汇,之后根据单个词汇出现的频率来决定字号的大小,字号越大,说明在弹幕中出现的频率越高

显而易见,出现次数最多的弹幕当属「哈哈哈哈哈哈」,即便长大了,听到这可爱的儿歌,看到这萌萌哒雪人,还是会觉得欢乐无穷。

网络异常,图片无法展示
|

看完上面的词云图,如果你想知道词云图是怎么生成的,可以继续看下面的文章。

我也将用到的源码放到了 GitHub 上,有需要的朋友可以前往 GitHub 下载或复制代码,跟着我一起「改代码」,之后就能随意抓取任意 B 站视频的弹幕了

网络异常,图片无法展示
|

制作词云图的流程是这样的:先使用 dammu_spider.py 抓取视频的弹幕,得到一个包含所有弹幕的 txt 文件,再用 词云.py 将得到的 txt 文件导出为词云图


01. 安装 Python

打开 Python 官网,下载最新版的 Python3.9.5,它支持 Windows、macOS 和 Linux 系统。

网络异常,图片无法展示
|

Python 官网地址:
https://www.python.org/downloads/

下载之后,打开 Python 安装程序,先勾选安装面板下方的「Add Python 3.x to PATH」,再点击「Install Now」,一直点下一步等待 Python 完成安装。

网络异常,图片无法展示
|
图片来自网络

安装好 Python 之后,为了确认我们配置好了 Python 环境,可以按下 Win + S 打开 Windows 自带的搜索,输入 cmd,打开「命令提示符」。

网络异常,图片无法展示
|

在打开的窗口中,输入 python 后按下回车,如果下方返回 Python 的版本号,例如我这里返回的版本号是 Python 3.9.2 ,则说明 Python 已经配置妥当了。

网络异常,图片无法展示
|


02. 安装 Python 开发工具

写 Python 代码有很多工具,如下图所示,这些工具被统称为 IDE,这是英文 Integrated Development Environment 的缩写,中文翻译为「集成开发环境」。

网络异常,图片无法展示
|

目前我用过的开发工具有两个,一个是社区版的 PyCharm,一个是微软推出的 VS Code。

如果你贪图方便的话,可以使用 PyCharm,而如果你用的是 VS Code,还需要给 VS Code 安装一个名为「Python」的插件。

网络异常,图片无法展示
|

关于如何让 VS Code 的语言变成中文以及安装插件的问题,可以看之前我写过的一篇文章:

那些排版好看的公众号,都在偷偷用这些神器!


PyCharm 下载地址:https://www.jetbrains.com/pycharm/download/

VS Code 下载地址:https://code.visualstudio.com/


03. 安装第三方 Python 库

爬取 B 站弹幕的代码中,用到了 Python 没有内置的第三方库,为了不影响后续程序的运行,我们先安装一下这些第三方库:

  • requests
  • jieba
  • wordcloud


安装这些库也非常简单,先打开 Windows 自带的「命令提示符」窗口,如果你用的是 Mac 电脑,则打开 macOS 系统自带的「终端」。

在命令提示符窗口中分别输入 pip3 install + 第三方库的名称,例如安装 wordcloud 库,就输入 pip3 install wordcloud

网络异常,图片无法展示
|

如果程序可以顺利安装的话,在末尾会提示「Successfully installed」,至于最末尾出现的黄色警告文字「WARNING」,它是警告信息而不是报错,可以忽略它们。

网络异常,图片无法展示
|

重复上面的操作,分别逐一安装三个第三方库 requests、jieba 和 wordcloud。

安装好第三方库之后,就可以开始修改代码啦。由于我在 Windows 电脑上用的 IDE 是 VS Code,下面就以 VS Code 来演示如何修改 Python 代码:


04. 修改抓取视频弹幕的代码

在 VS Code 中使用快捷键 Ctrl + N 新建一份文档,刚开始我们需要确定我们想使用的编程语言。

点击文档第一行的蓝色文字「选择语言」,在弹出的输入框中输入 Python,点击下方返回的 Python。

网络异常,图片无法展示
|

打开 GitHub 上的 danmu_spider.py 文件,用鼠标选中所有代码,右击选择「复制」。

8840a3168c50dd7a0dbb6aa351bfd5ef_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

将复制的代码粘贴到 VS Code 中,我们最先要更改的代码是 url 的值,这个 url 指向的是视频的弹幕地址

d7e21a8e65f3fbf89b875e57bac3e1b4_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

打开你想抓取弹幕的 B 站视频,按下 F12 键,打开浏览器开发者工具,切换到 Network 选项卡,再点击视频右侧弹幕列表的「展开」按钮。

1ff65b71e814389f1f74d72551668679_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

拖动开发者工具右下角的滑钮,将其拖拽到底部,接着点击弹幕列表底部的「查看历史弹幕」,随意选择一个日期。

例如我选择查看 6 月 10 日的弹幕,下方的开发者工具,会新增一个后缀为 data=2020-06-10 的记录。

d350c23d88f1871fb05dd48962a2cd53_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

点击这条记录,在右侧展开的 General >> Request URL,就可以看到获取这一天的所有弹幕的链接地址,复制 Request URL 后面的 https 链接

83d985f37b30adb27a249599f96eef2c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

将其粘贴到 VS Code 中的 url 处,并将链接末尾的日期,替换为 {date},这是为了后面更灵活地指定抓取的弹幕所在的日期。

25396a3492f4346d23ffa3eed328b15f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

url 上方的 range(5,18) 就可以用来指定我们想抓取哪几天的弹幕,这里的 (5,18) 意思就是我想抓取蜜雪冰城视频,从 6 月 5 号到 6 月 18 号这段时间的所有视频弹幕。

492a7546836a7925a99f67e9f9e24236_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

至于你需要如何修改这两个参数,可以查看对应视频的历史弹幕小日历,来决定你要如何设置这两个参数。

e909465775897e94ae5d4519a6310eab_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

接着代码中要修改的参数是 cookie,这个参数记录了你的登录信息,因此只有在浏览器中登录自己的 B 站账号,才能找到这个我们需要的参数。

eec8cf0dd0426671b09c550b9c18e7d7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

cookie 同样可以在开发者工具面板中找到,在刚点开的 06-10 记录中,向下滑动右侧的滑动,就可以在 Request Headers 中看到 cookie 了。

1af19cf71ae69266689d4e6026cbaae5_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

将 cookie 的值复制到 VS Code 中进行替换,原本有好几行的 cookie 值会变成一行:

12a99ef7d22dbae9a6e53f8ef4bff33d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里复制的 cookie 值还有一个小问题,cookie 值里面包含了一个英文的单引号,这在 Python 中会让程序误以为 cookie 值到这里就结束了,实际上并没有。

为了解决这个问题,我们需要在这个单引号的前面加一个反斜杠 \ ,通过转义的方式,让它变成一个普通的单引号

277d2dfff43a7755fb538cb55f9d17e3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

接着还需要修改一下保存抓取的弹幕的 txt 文件的名称,名称可以随你起,可以是中文,也可以是英文,记得名称末尾需要带上格式后缀 .txt

上一篇: 全新简化版EasyRecovery 免费专业级数据恢复工具

下一篇: 全新升级的GWAS全基因组关联分析工具GAPIT实用指南!包含详尽的Linux版安装教程及常见问题解决笔记