python實現b站直播自動發送彈幕功能
· Python 3.6
· Pycharm
相關模塊使用import requestsimport timefrom tkinter import *import random目標i網頁分析
首先你要登陸B站賬號,然后隨便點擊一個直播間,這里建議先選擇人氣少的,彈幕少的,這樣方便查看效果
如上圖所示,先打開開發者工具,定位到xhr輸入發送內容,點擊發送,會有一個post請求的send數據接口。
所以只需要請求這個數據接口即可發送彈幕。就是正常的時候爬取數據,使用requests請求網頁一樣,一般情況大家都是使用的get請求,這里則是需要使用post請求。
之后,只要給請求的時候來一個死循環,那么就可以一直發送彈幕了,然后再自定義一個彈幕內容,讓它每次都是隨機抽選一句話發送即可。
完整代碼:import requestsimport timefrom tkinter import *import randomlis_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 自動發送彈幕的資料請關注好吧啦網其它相關文章!
相關文章:
1. springcloud alibaba nacos linux配置的詳細教程2. Vue為什么要謹慎使用$attrs與$listeners3. SpringBoot 使用 @Value 注解讀取配置文件給靜態變量賦值4. Java 生成帶Logo和文字的二維碼5. SpringBoot整合MybatisPlus的教程詳解6. 解決在Vue中使用axios POST請求變成OPTIONS的問題7. Spring Boot2發布調用REST服務實現方法8. python 實現圖片修復(可用于去水印)9. Android自定義控件實現方向盤效果10. python中的socket實現ftp客戶端和服務器收發文件及md5加密文件
