python实现b站直播自动发送弹幕功能


Posted in Python onFebruary 20, 2021

基本开发环境

· Python 3.6

· Pycharm

相关模块使用

import requests
import time
from tkinter import *
import random

目标i网页分析

python实现b站直播自动发送弹幕功能

首先你要登陆B站账号,然后随便点击一个直播间,这里建议先选择人气少的,弹幕少的,这样方便查看效果

python实现b站直播自动发送弹幕功能

如上图所示,先打开开发者工具,定位到xhr输入发送内容,点击发送,会有一个post请求的send数据接口。

所以只需要请求这个数据接口即可发送弹幕。就是正常的时候爬取数据,使用requests请求网页一样,一般情况大家都是使用的get请求,这里则是需要使用post请求。

之后,只要给请求的时候来一个死循环,那么就可以一直发送弹幕了,然后再自定义一个弹幕内容,让它每次都是随机抽选一句话发送即可。

完整代码:

import requests
import time
from tkinter import *
import random

lis_text = ['666', '主播真厉害',
   '爱了,爱了',
   '关注走一走,活到99',
   '牛逼!!!',
   '秀儿,是你吗?']


def send():
 a = 0
 while True:
  time.sleep(2)
  send_meg = random.choice(lis_text)
  roomid = entry.get()
  ti = int(time.time())
  url = 'https://api.live.bilibili.com/msg/send'
  data = {
   'color': '16777215',
   'fontsize': '25',
   'mode': '1',
   'msg': send_meg,
   'rnd': '{}'.format(ti),
   'roomid': '{}'.format(roomid),
   'bubble': '0',
   'csrf_token': '复制自己的',
   'csrf': '复制自己的',
  }

  headers = {
   'cookie': '使用你自己的cookie',
   'origin': 'https://live.bilibili.com',
   'referer': 'https://live.bilibili.com/blanc/1029?liteVersion=true',
   'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
  }
  a += 1
  response = requests.post(url=url, data=data, headers=headers)
  print(response)
  text.insert(END, '第{}条弹幕发送成功'.format(a))
  # 文本框滚动
  text.see(END)
  # 更新
  text.update()
  text.insert(END, '发送内容:{}'.format(send_meg))


root = Tk()
root.title('B站自动发送弹幕')
root.geometry('560x450+400+200')

label = Label(root, text='请输入房间ID:', font=('华文行楷', 20))
label.grid()

entry = Entry(root, font=('隶书', 20))
entry.grid(row=0, column=1)

text = Listbox(root, font=('隶书', 16), width=50, heigh=15)
text.grid(row=2, columnspan=2)

button1 = Button(root, text='开始发送', font=('隶书', 15), command=send)
button1.grid(row=3, column=0)

button2 = Button(root, text='退出程序', font=('隶书', 15), command=root.quit)
button2.grid(row=3, column=1)

root.mainloop()

以上就是python实现b站直播自动发送弹幕的详细内容,更多关于python 自动发送弹幕的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
使用Python对Access读写操作
Mar 30 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
python实现发送邮件功能代码
Dec 14 Python
Python3编码问题 Unicode utf-8 bytes互转方法
Oct 26 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
python实现梯度下降和逻辑回归
Mar 24 Python
Python3爬虫mitmproxy的安装步骤
Jul 29 Python
python破解同事的压缩包密码
Oct 14 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
Jan 05 Python
如何用 Python 制作 GitHub 消息助手
Feb 20 #Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 #Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 #Python
安装不同版本的tensorflow与models方法实现
Feb 20 #Python
python爬虫scrapy基本使用超详细教程
Feb 20 #Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 #Python
conda安装tensorflow和conda常用命令小结
Feb 20 #Python
You might like
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php提取微信账单的有效信息
2018/10/01 PHP
JS DOM 操作实现代码
2010/08/01 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
python学习基础之循环import及import过程
2018/04/22 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
python字符串Intern机制详解
2019/07/01 Python
使用python画社交网络图实例代码
2019/07/10 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
python实现在线翻译
2020/06/18 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
2014大学生党员评议个人总结
2014/09/22 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
python接口测试返回数据为字典取值方式
2022/02/12 Python