首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬虫,最新的B站弹幕和评论爬虫,你们要的冰冰来啦!

最近想爬下B站的弹幕和评论,发现网上找到的教程基本都失效了,毕竟爬虫和反爬是属于魔高一尺、道高一丈的双方,程序员小哥哥们在网络的两端斗智斗勇,也是精彩纷呈。

当然了,对于爬虫这一方,爬取网站数据,一般目的都是比较明确的,比如我这里就是为了冰冰,废话不多说,开干!

获取弹幕数据

这里先声明一点,虽然网络上的整体教程都失效了,但是有一些步骤还是可以参考的,比如我们可以知道,对于弹幕数据,我们是可以通过如下的一个接口来获取的

https://comment.bilibili.com/xxxx.xml

在浏览器打开可以看到如下:

数据还是非常干净的,那么下一步就是看如何获取这个 的 地址了,也就是如何获取 324768988 ID

接下来我们搜索整个网页的源码,可以发现如下情况

也就是说,我们需要的 是可以在 当中获取的,下面就来编写一个提取 内容的函数

拿到所有的 script 内容之后,我们再来解析我们需要的数据

最后,我们再把整体代码封装成一个类,就完成了弹幕抓取的数据收集工作了

结果如下:

对于评论数据,可能要复杂一些,需要分为主(main)评论和回复主评论的 reply 评论

我们通过浏览器工具抓取网页上的所有请求,然后搜索 reply,可以得到如下结果

我们先来看看 main 请求,整理后通过浏览器访问如下

也可以直接通过 requests 请求

通过观察可以得知,响应消息里的 就是主评论内容,同时我们还可以改变 当中的 参数来翻页,进而请求不同的数据

这里我们再关注下 参数,这个会用于 reply 评论中

再来看看 reply 评论,同样可以使用 直接访问,同时 当中的 参数就是我们上面提到的 参数

我们厘清了上面的关系之后,我们就可以编写代码了

爬取过程中:

这样,针对一个冰冰视频,我们就完成了上千评论的抓取

可视化

下面我们简单做一些可视化动作

先来看下我们爬取的数据整体的样子

因为数据中有一些空值,我们来处理下

下面就可以作图了,GO!

使用 pyecharts 还是我们的首选,毕竟编写容易

评论热度

等级分布

评论词云

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221226A07IQT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券