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 Django(图文)
Nov 04 Python
利用python将图片转换成excel文档格式
Dec 30 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
pytorch 模拟关系拟合——回归实例
Jan 14 Python
python实现打砖块游戏
Feb 25 Python
python xlsxwriter模块的使用
Dec 24 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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 cdata 处理(详细介绍)
2013/07/05 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
php命令行写shell实例详解
2018/07/19 PHP
javascript 写类方式之十
2009/07/05 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
用Python编写简单的定时器的方法
2015/05/02 Python
理解python中生成器用法
2017/12/20 Python
python放大图片和画方格实现算法
2018/03/30 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
python实现简单坦克大战
2020/03/27 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
医学检验专业大学生求职信
2013/11/18 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
新任教师自我鉴定
2014/02/24 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python