北京时间2020年6月3日,RNG战队ADC选手Uzi简自豪宣布退役,这位LPL编号006的老将最终还是选择离开了这个他拼搏过七年的赛场。2012年底初登职业赛场的15岁少年,到如今已是功勋卓著伤痕满身的23岁老将。2019全球总决赛小组赛C组第二轮最后一场比赛,成为了Uzi在国际赛场乃至职业生涯中的最后一战。
一、写在前面
作为一名UZI的粉丝,还是一名python爱好者,我决定用爬取RNG与SKT经典的那场比赛的弹幕来表达对UZI的感慨之情,直播行业已经火热几年了,几个大平台也有了各自独特的“弹幕文化”,不过现在很多平台直播比赛时的弹幕都基本没法看的,主要是因为网络上的喷子还是挺多的,尤其是在观看比赛的时候,很多弹幕不是喷选手就是喷战队,如果看了这种弹幕,真是让比赛减分不少。
但和别的平台比起来,B 站的弹幕会好一些。正好现在是英雄联盟的世界总决赛时间,也有不少人选择在 B 站看比赛直播,那么大家在看直播的时候会发什么弹幕呢?话不多说,这就用 Python 写个爬虫来爬取 B 站直播时的弹幕吧!
二、爬取分析
首先打开 Bilibili,然后找到英雄联盟比赛的直播间:
先找一个直播链接,这个链接中的 broadcast_type 和 visit_id 是随机生成的,不过对我们的爬取也没影响,只要找到直播间的链接就好了。
打开开发者工具,切换到 NetWork,点选上 XHR,在其中能找到一个请求:
https://api.live.bilibili.com/ajax/msg。这个请求需要四个参数(roomid,csrf_token,csrf,visit_id),其中 ro