当前位置:
首页 > 编程开发 > python入门教程 >
-
看直播充钱多没意思,教你用python给喜欢的主播自动发弹幕,让她没你不行!
写在前面
发弹幕只是其中一个小小的功能,还可以自动点赞、收藏、投币、自动播放、私信等等,但是我们只演示这个,其它的不做展示。
实现步骤
先打开一个视频或者直播,F12打开开发者工具,点击network。然后点这个清空一下
再发送一个弹幕,然后可以看到这个send,有一个post请求。点击payload可以看到我们刚刚发送的弹幕相关数据
然后来写代码
# 我还给大家准备了这些资料,直接在群里就可以免费领取了。 # 群:924040232 # python学习路线汇总 # 精品Python学习书籍100本 # Python入门视频合集 # Python实战案例 # Python面试题 # Python相关软件工具/pycharm永久激活
首先导入模块
import random import time
这是我们的url
url = 'https://api.live.bi******.com/msg/send' # 某些原因我就不打全了
接收一下data参数
data = { 'bubble': '0', 'msg': 6666, 'color': '16777215', 'mode': '1', 'fontsize': '25', 'rnd': '1640181316', 'roomid': '22819508', 'csrf': '131d24bf2b92a3609208ed83758ab8f2', 'csrf_token': '131d24bf2b92a3609208ed83758ab8f2', }
然后headers请求头这里,把cookie什么的都给它加上去。
headers = { 'cookie': '_uuid=CF79473B-0F83-6087-BCB0-23A7E36C479296281infoc; buvid3=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; blackside_state=1; rpdid=|(kmJY|kmu|)0J\'uYJRYkJu|Y; CURRENT_QUALITY=32; buvid_fp=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; video_page_version=v_old_home; sid=abkn3and; i-wanna-go-back=-1; b_ut=5; bp_video_offset_65901796=602085772740229500; LIVE_BUVID=AUTO5916400017585242; CURRENT_BLACKGAP=1; CURRENT_FNVAL=2000; b_lsid=FB21108D7_17DE26BCC89; fingerprint=3c7949ca118951ae1be0b5b37b321306; buvid_fp_plain=556F173C-C5B7-4583-86F9-FD1074EB421D143076infoc; DedeUserID=523606542; DedeUserID__ckMd5=909861ec223d26d8; SESSDATA=cec4dda4%2C1655733287%2Cc5b88*c1; bili_jct=131d24bf2b92a3609208ed83758ab8f2; innersign=0; _dfcaptcha=fbb016616944e9b94331aeb2627c9d3d; PVID=3', 'origin': 'https://live.bi****.com', 'referer': 'https://live.bi****.com/', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36', }
接收数据
response = requests.post(url=url, data=data, headers=headers)
输出
print(response.text)
这是最最最简单的版本,就四行代码就可以了。
找了个没人看的视频运行一下,发了个你好。
那如果
要发多一点呢?
给它一个列表
lis = ['主播666', '主播真帅', '666']
导入的random模块就是为了随机取一个弹幕
word = random.choice(lis)
出处:https://www.cnblogs.com/hahaa/p/15797420.html
然后我们在写一个死循环
while True: lis = ['主播666', '主播真帅', '666'] word = random.choice(lis)
导入的time是一个延时函数,我们在每次发完之后,我们延迟五秒钟,放到最后面。
time.sleep(5)
再来看看效果
全部代码
import random import time while True: lis = ['主播666', '主播真帅', '666'] word = random.choice(lis) url = 'https://api.live.bi****.com/msg/send' data = { 'bubble': '0', 'msg': word, 'color': '16777215', 'mode': '1', 'fontsize': '25', 'rnd': '1640181316', 'roomid': '22819508', 'csrf': '131d24bf2b92a3609208ed83758ab8f2', 'csrf_token': '131d24bf2b92a3609208ed83758ab8f2', } headers = { 'cookie': '_uuid=CF79473B-0F83-6087-BCB0-23A7E36C479296281infoc; buvid3=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; blackside_state=1; rpdid=|(kmJY|kmu|)0J\'uYJRYkJu|Y; CURRENT_QUALITY=32; buvid_fp=8AEBDC64-0CEE-4F6F-9866-B1508FAB2871148805infoc; video_page_version=v_old_home; sid=abkn3and; i-wanna-go-back=-1; b_ut=5; bp_video_offset_65901796=602085772740229500; LIVE_BUVID=AUTO5916400017585242; CURRENT_BLACKGAP=1; CURRENT_FNVAL=2000; b_lsid=FB21108D7_17DE26BCC89; fingerprint=3c7949ca118951ae1be0b5b37b321306; buvid_fp_plain=556F173C-C5B7-4583-86F9-FD1074EB421D143076infoc; DedeUserID=523606542; DedeUserID__ckMd5=909861ec223d26d8; SESSDATA=cec4dda4%2C1655733287%2Cc5b88*c1; bili_jct=131d24bf2b92a3609208ed83758ab8f2; innersign=0; _dfcaptcha=fbb016616944e9b94331aeb2627c9d3d; PVID=3', 'origin': 'https://live.bi****.com', 'referer': 'https://live.bi****.com/', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36', } response = requests.post(url=url, data=data, headers=headers) print(response.text) time.sleep(5)
兄弟们,支持一下来个三连,需要你们提一点动力~
出处:https://www.cnblogs.com/hahaa/p/15797420.html
最新更新
Python获取微信好友数据
Python 的排序方法 sort 和 sorted 的区别
WinForm轻松实现自定义分页 (转载)
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
在win系统安装配置 Memcached for PHP 5.3 图文
箱图在数据预处理中的应用
Python WEB开发:用Tornado框架制作简易【表
自从学会了用python解析视频,都不用去找
Python代码阅读(第50篇):对列表间隔取
Python爬虫+数据分析+可视化展示,分析《
MongoDB常用命令(2)
MongoDB基本介绍与安装(1)
SQLServer触发器调用JavaWeb接口
SQL Server索引的原理深入解析
SqlServer2016模糊匹配的三种方式及效率问题
SQL中Truncate的用法
sqlserver 多表关联时在where语句中慎用tri
链接服务器读取Mysql---出现消息 7347,级别
SQL Server解惑——为什么你拼接的SQL语句换
MySQL视图了解一下
laf.js - 开源的云开发框架(README.md)
javascript创建对象
Node.js 源码分析 - 从 main 函数开始
Node.js 源码分析 - 原生模块(C++模块)的注册
ECharts图标中用的js相关的处理方法
GoJS 使用笔记
单元测试 - 测试场景记录
Node.js 源码分析 - 加载 js 文件
ES6入门
聊聊动效降级