Python实现B站直播自动发送弹幕教程

纸上星河
纸上星河
发布时间:2026-10-15 | 4人浏览过
原创

本文介绍如何使用Python实现B站直播自动发送弹幕功能。通过抓取直播间发送弹幕的Post请求接口,利用requests库模拟提交数据,结合Tkinter构建简易图形界面,实现指定房间号的弹幕自动发送。代码包含随机弹幕选取、请求参数构造及循环发送逻辑,供技术参考。

基本开发环境

· Python 3.6

· Pycharm

相关模块使用


import requests
import time
from tkinter import *
import random

目标i网页分析

首先你需要登录B站账号,随后进入任意直播间。建议初期选择人气较低、弹幕较少的房间,以便更清晰地观察发送效果。

如上图所示,打开浏览器开发者工具,定位到XHR标签页。在输入框中输入发送内容并点击发送,此时会捕获到一个Post请求的Send数据接口。

因此,只需对该数据接口发起请求即可实现弹幕发送。这与常规爬取数据类似,但通常使用的是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 相关产品和应用

全部下载

专题列表