不破不立~EDG夺冠,用Python分析词云图展示粉丝弹幕数据,来感受粉丝的热情吧

大家好~我是恰恰,好久不见啦~Python的乐趣就在于在互联网时代,能实现很多人工做不到的事~ 虽然我不是经常玩游戏,但是我这该死的爱国情怀,在EDG夺冠的时候,我也是十分激动的!
北京时间11月6日,在英雄联盟S11总决赛中,中国LPL赛区战队EDG电子竞技俱乐部以3∶2战胜韩国LCK赛区战队DK,获得2021年英雄联盟全球总决赛冠军。
这个比赛也是备受全网瞩目:
微博热搜第一名,显示有8194万观看;
bilibili平台,吸引3.5亿人气,满屏弹幕;
腾讯视频600万人看过;
斗鱼和虎牙平台的热度也是居高不下;
比赛结束后,央视新闻也发微博祝贺EDG战队夺冠;
我们不仅可以通过直播和新闻来感受比赛的整个过程,也可以通过Python来分析热点来感受粉丝的热情。

1. 简单说明
没看过直播的朋友不要紧,有回放呀!整个视频已经为大家整理好了,从开幕式,到五场比赛,再到夺冠时刻,一共7个视频。
每个视频中,都有粉丝发布的弹幕。今天要做的,就是获取每个视频里面的弹幕数据,看看粉丝在躁动的心情下,说了点啥?
不得不说,B站网页的变化速度真快,我记得去年还是很容易找到的。但是今天却一直没有找到。
但是没有关系,我们直接将以前的弹幕数据网址接口拿过来使用就行。
API:https://api.bilibili.com/x/v1/dm/list.so?oid=XXX
这个oid其实就是一串数字,每个视频都有一个独特的oid。
2. oid数据找寻
本小节就带着大家一步步找寻这个oid。要找到oid,首先要找到一个叫做cid的东西。
点击F12,先打开开发者工具,按照图中提示,完成1-5处的操作。

第3处:这个页面有很多个请求,但是你需要找到这个以pagelist开头的请求。
第4处:观察对应的Header下方,有一个Request URL,我们要的cid就在这个网址中。
第5处:观察对应的Preview下方,就是请求Request URL,响应给我们的结果,图中圈起来的就是我们要的cid数据。
2. cid数据获取
上述我们已经找到了Request URL,下面我们只需要发起请求,获取里面的cid数据即可。
import requests
其实,这里cid对应的数字串,就是oid后面的数字串。
3. 拼接url
我们不仅有了弹幕api接口,也有了cid数据,接下来将它们进行拼接,就可以得到最终的url。
url = 'https://api.bilibili.com/x/player/pagelist?bvid=BV1EP4y1j7kV&jsonp=jsonp'
一共有7个网址,分别对应7个视频里面的弹幕数据。
随便点开一个查看:
4. 正则提取弹幕数据并保存
有了完整的url后,我们要做的就是提取里面的数据,这里还是直接采用正则表达式。我们以其中一个视频为例,为大家讲解。
final_url = "https://api.bilibili.com/x/v1/dm/list.so?oid=437729555"
这只是其中一页的数据,共有7200条数据。
完整提取弹幕程序代码,提取后弹幕存在“弹幕.txt”中。
import os
将提取到的弹幕数据转为词云图完整代码
# 1 导入相关库

以前很多人都会说,游戏不是好东西,玩物丧志之类的,但是EDG、IG他们都在用事实证明,不管我们在做着什么,我们都会有好的作用,就像学习Python一样,可能有人觉得不就是一个编程语言吗?有什么了不起,但是在人工智能越来越发达的情况下,Python起着重要的作用,所以同学们,对任何事都不要低估他,努力去学习就好啦!