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之通过Python连接数据库
Oct 28 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
python hook监听事件详解
Oct 25 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
Django 项目布局方法(值得推荐)
Mar 22 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
python的netCDF4批量处理NC格式文件的操作方法
Mar 21 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
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
[01:30:55]VG vs Mineski Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
python实现员工管理系统
2018/01/11 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
Python如何使用字符打印照片
2020/01/03 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
Python 读取位于包中的数据文件
2020/08/07 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
C语言笔试题
2014/09/04 面试题
如何写一份好的自荐信
2014/01/02 职场文书
入党积极分子介绍信
2014/01/17 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
科级干部培训心得体会
2016/01/06 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS