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的绘图工具matplotlib使用实例
Jul 03 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
基于python爬虫数据处理(详解)
Jun 10 Python
用Eclipse写python程序
Feb 10 Python
Python常见工厂函数用法示例
Mar 21 Python
详解python运行三种方式
May 13 Python
python对文件目录的操作方法实例总结
Jun 24 Python
python实现大量图片重命名
Mar 23 Python
python3.8下载及安装步骤详解
Jan 15 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 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表单转换textarea换行符的方法
2010/09/10 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
JS取文本框中最小值的简单实例
2013/11/29 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
超棒的响应式布局jQuery插件Freetile.js
2014/11/17 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
Python XML RPC服务器端和客户端实例
2014/11/22 Python
Python字符串处理实例详解
2017/05/18 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
python之文件读取一行一行的方法
2018/07/12 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
Python supervisor强大的进程管理工具的使用
2019/04/24 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
师范毕业生自我鉴定
2014/01/15 职场文书
交流会主持词
2015/07/02 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis
Elasticsearch 数据类型及管理
2022/04/19 Python