基本开发环境
· Python 3.6
· Pycharm
相关模块使用
import requests import time from tkinter import * import random
目标i网页分析
首先你要登陆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 自动发送弹幕的资料请关注自学编程网其它相关文章!