python爬虫直播源_Python爬虫经典项目:各大直播平台的弹幕人气工具!

目录

一、功能

学习Python中有不明白推荐加入交流群号:

前面548中间377后面875

群里有志同道合的小伙伴,互帮互助,

群里有不错的学习教程!

二、思路

三、实现

1. 获取弹幕

2. 发送弹幕

3. 封装调用

一、功能

功能很简单,就是将B站直播间的每条弹幕重新发送一遍。

二、思路

先通过post请求获取实时弹幕,再用post请求重新发送。

三、实现

1. 获取弹幕

(1)因为实时弹幕是通过Ajax从服务器获取的,我们打开右击页面选择检查,进入Network,经过一番寻找后找到了msg这个请求,查看其中的关键部分,请求url地址和表单部分,url在请求头中,表单部分类似下图:

其中,roomid是房间号,csrf_token是post请求的安全验证码,还有一个visit_id是空值,这些都要根据自己的实际情况填写。

(2)然后我们查看响应信息:

是一个json字符串,经过比对后可以知道最新的一条弹幕存储在res.json()['data']['room'][-1]['text']中(res是requests响应体)。

(3)然后我们就可以根据这些数据,使用requests模块获取弹幕,代码如下

2. 发送弹幕

(1)为了找到发送弹幕的接口,我们只需要手动发送一条,在Network中就一眼看到了:

这次需要关注的部分除了url和post表单外,还有一个cookie,这个键用来服务器识别我们的浏览器的,如果没有的话,即使发送到服务器弹幕也不会显示。

(2)弹幕是保存在表单中的msg键中发送给服务器的

(3)然后根据这些数据向第一部获取的url发送表单,代码如下:

这其中大部分数据要以自己的实际修改(在自己的浏览器上复制)

3. 封装调用

(1)将获取弹幕封装成一个方法,返回弹幕文本;

(2)将发送弹幕也封装,接收方法1获取的弹幕文本为参数;

(3)去重,在弹幕未刷新时,阻止多次发送同一条弹幕。

所以最终代码如下:

注意:表单数据要以自己的为准

建议再多加一些延迟和随机办法,不然太招仇恨会被举报的……哭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值