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

本文介绍了如何使用Python实现B站直播间的自动发送弹幕功能。通过分析B站网页的POST请求,利用requests库发送POST请求,配合Tkinter创建GUI界面,实现弹幕内容的随机选择和持续发送。读者将学习到如何设置请求参数、使用cookie以及创建简单的用户交互界面。
摘要由CSDN通过智能技术生成

基本开发环境

· Python 3.6

· Pycharm

相关模块使用

import requests

import time

from tkinter import *

import random

目标i网页分析

834895bd40381ded45db2a96516e7613.png

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

a749e46e4220813fcbbb45e7f982d1af.png

如上图所示,先打开开发者工具,定位到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 自动发送弹幕的资料请关注脚本之家其它相关文章!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值