Python实现直播弹幕自动发送功能
作者:松鼠爱吃饼干 发布时间:2021-08-23 12:31:37
标签:Python,弹幕,自动发送
前言
今天制作的这一款能在B站能指定直播间、自动发弹幕的功能的脚本,因为没做那么多的功能,所以代码很简单,适合刚入门的同学学习
先打开一个直播间
按F12打开开发者工具
发送弹幕666
在send里找到我们所需的链接
发送请求
需要加上headers和data
import requests
url = 'https://api.live.bilibili.com/msg/send'
data = {
'bubble': '0',
'msg': '666666',
'color': '16777215',
'mode': '1',
'fontsize': '25',
'rnd': '1646460756',
'roomid': '545068',
'csrf': 'a121a39614a5131b700e07334c3e2f2e',
'csrf_token': 'a121a39614a5131b700e07334c3e2f2e',
}
headers = {
'cookie': 'buvid3 = B68B2187 - 4C3E - 4466 - A896 - FBF9B292099B190963infoc;LIVE_BUVID = AUTO4115757254257055;rpdid = | (umu | ulY)JJ0J\'ul~l~klRJ); Hm_lvt_ff57561a8cad2056ebeb8790418f7c80=1617598823; dy_spec_agreed=1; fingerprint_s=72d878d168cc36c3e67084f9ab1b28bf; kfcFrom=SIXIN; video_page_version=v_old_home; _uuid=838215105-B7C3-D1D3-8866-D41AAC22362C56007infoc; CURRENT_BLACKGAP=0; blackside_state=0; buvid_fp_plain=undefined; buvid4=475D6CE2-93EF-3AD0-EBCD-C528FD289A2218219-022012015-hoqbRiv5RkzgH6uKZsx6eQ%3D%3D; i-wanna-go-back=-1; fingerprint3=282838a0bbd808eda8dde1558fccc94c; CURRENT_QUALITY=80; bp_video_offset_296816901=629971213059358700; sid=jtva59n5; fingerprint=416f0a37448a1faf863af4402998db67; DedeUserID=523606542; DedeUserID__ckMd5=909861ec223d26d8; SESSDATA=c666f798%2C1661245310%2C91227*21; bili_jct=ac2dd02c170854b995d5a6a601d973ea; buvid_fp=416f0a37448a1faf863af4402998db67; b_ut=5; bp_t_offset_523606542=630736739432923172; bp_video_offset_523606542=631076973870841894; innersign=0; b_lsid=B77BFA43_17F2FE6E01B; CURRENT_FNVAL=80; _dfcaptcha=fa1b3951be7c6744827b636f6c4935c9; Hm_lvt_8a6e55dbd2870f0f5bc9194cddf32a02=1645778002; Hm_lpvt_8a6e55dbd2870f0f5bc9194cddf32a02=1645778002; PVID=7',
'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',
response = requests.post(url=url, data=data, headers=headers)
print(response.status_code)
循环发弹幕
import random
import time
lis_text = ['666', '主播真厉害',
'爱了,爱了',
'关注走一走,活到99',
'牛逼!!!',
'秀儿,是你吗?']
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': 'ac2dd02c170854b995d5a6a601d973ea',
'csrf_token': 'ac2dd02c170854b995d5a6a601d973ea',
}
做个交互界面
from tkinter import *
root = Tk()
root.title('B站自动发送弹幕')
root.geometry('560x450+400+200')
label = Label(root, text='请输入房间号:', 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)
root.mainloop()
将前面发送弹幕的代码设成函数,再调用
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)
最后看看效果怎么样
看来效果很成功,目前功能很简单,还可以添加很多,同学们也可以自己试试往上加东西
来源:https://www.cnblogs.com/qshhl/archive/2022/03/05/15969865.html
0
投稿
猜你喜欢
- 我们都知道当我们建立数据表(innodb或myisam)时,会生成相应的文件(如:MYD,MYI,frm) 在这里,我们探讨下使用frm文件
- 前言在实际应用中经常会用到固定字段的长度,但往往有些数据不能达到规定的长度,这是就需要我们用其他的字符来填充, 在Oracle中有函数解决这
- 发现问题写python的时候出现了这个错,然后网上的教程的解决方案几乎都是——“重新定义下这个变量”,看的我一脸懵逼后来发现原来是我把ret
- 首先给大家分享一篇js中int和string数据类型互相转化实例https://www.aspxhome.com/article/15474
- 本文实例为大家分享了Django实现上传图片的具体代码,供大家参考,具体内容如下1.设置存放上传的图片的文件夹settings.pyMEDI
- 自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法对于div,
- setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。语法:setTimeout(code,millisec)参数:cod
- JavaScript由于同源策略的限制,跨域通信一直是棘手的问题。当然解决方案也有很多: 1.document.domain+iframe的
- 优化场景利用视图函数(views)查询数据之后可以通过上下文context、字典、列表等方式将数据传递给HTML模板,由template引擎
- 实例如下所示:#!/usr/bin/python# -*- coding:utf8 -*-from selenium import webd
- 在Java编程开发中,网络通信的开发是很重要的一部分,它是两台或多台计算机进行网络的基础,网络程序编写的目的也就是为了与其他计算机之间进行网
- 我们在编写软件时,一般会有版本号以及生成的时间,Go编译的程序中,如何添加当时的编译时间以及版本信息?C/C++语言,非常方便,可以直接使用
- 随着新技术的不断发展,JavaScript已经不再仅仅只是一个网络语言。现在,我们能够看到很多使用JavaScript来构建基于本地浏览器的
- SQL语句举例:SELECT * FROM `test` WHERE `id`=1;当我们输入一条SQL语句,返回一个结果时,那这条语句在
- import sysfrom PyQt5 import QtWidgetsfrom PyQt5.QtWidgets import QMain
- 原来图片自适应宽度一般都是通过Javascript来解决的,但是多少还是比较麻烦。还有一种通过设置外层容器overflow:hidden属性
- tf.nn.bidirectional_dynamic_rnn()函数:def bidirectional_dynamic_rnn( &nb
- 本文实例为大家分享了python绘制箱型图的具体代码,供大家参考,具体内容如下import numpy as npimport pandas
- 2008北京奥运会块到了,下面的js代码将告诉你,离奥运会开幕还要多少天!让我们一起迎接这美好的时刻。相关文章推荐:各种北京2008奥运会倒
- 存储过程功能的优点为什么要使用存储过程?以下是存储过程技术的几大主要优点:预编译执行程序。SQL Server只需要对每一个存储过程进行一次