python實現(xiàn)b站直播自動發(fā)送彈幕功能
基本開發(fā)環(huán)境
· Python 3.6
· Pycharm
相關(guān)模塊使用
import requests import time from tkinter import * import random
目標(biāo)i網(wǎng)頁分析

首先你要登陸B(tài)站賬號,然后隨便點擊一個直播間,這里建議先選擇人氣少的,彈幕少的,這樣方便查看效果

如上圖所示,先打開開發(fā)者工具,定位到xhr輸入發(fā)送內(nèi)容,點擊發(fā)送,會有一個post請求的send數(shù)據(jù)接口。
所以只需要請求這個數(shù)據(jù)接口即可發(fā)送彈幕。就是正常的時候爬取數(shù)據(jù),使用requests請求網(wǎng)頁一樣,一般情況大家都是使用的get請求,這里則是需要使用post請求。
之后,只要給請求的時候來一個死循環(huán),那么就可以一直發(fā)送彈幕了,然后再自定義一個彈幕內(nèi)容,讓它每次都是隨機抽選一句話發(fā)送即可。
完整代碼:
import requests
import time
from tkinter import *
import random
lis_text = ['666', '主播真厲害',
'愛了,愛了',
'關(guān)注走一走,活到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': '復(fù)制自己的',
'csrf': '復(fù)制自己的',
}
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, '第{}條彈幕發(fā)送成功'.format(a))
# 文本框滾動
text.see(END)
# 更新
text.update()
text.insert(END, '發(fā)送內(nèi)容:{}'.format(send_meg))
root = Tk()
root.title('B站自動發(fā)送彈幕')
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='開始發(fā)送', 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實現(xiàn)b站直播自動發(fā)送彈幕的詳細(xì)內(nèi)容,更多關(guān)于python 自動發(fā)送彈幕的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實現(xiàn)統(tǒng)計給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法
這篇文章主要介紹了Python實現(xiàn)統(tǒng)計給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法,涉及Python針對列表的簡單遍歷、計算相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
詳解python 拆包可迭代數(shù)據(jù)如tuple, list
拆包是指將一個結(jié)構(gòu)中的數(shù)據(jù)拆分為多個單獨變量中。下面通過本文給大家介紹python 拆包可迭代數(shù)據(jù)如tuple, list的相關(guān)資料,需要的朋友參考下吧2017-12-12
使用Python pyglet庫編寫一個可播放音樂的揚聲器類流程詳解
這篇文章主要介紹了使用Python pyglet庫編寫一個可播放音樂的揚聲器類,Pyglet主要用于創(chuàng)建視頻游戲、獨立游戲和多媒體應(yīng)用,它提供了一組用于制作游戲的常用功能,包括圖形渲染、聲音播放、事件處理等等,需要的朋友可以參考下2024-03-03
Python使用Scrapy爬蟲框架全站爬取圖片并保存本地的實現(xiàn)代碼
這篇文章主要介紹了Python使用Scrapy爬蟲框架全站爬取圖片并保存本地的實現(xiàn)代碼,需要的朋友可以參考下2018-03-03
GitHub 熱門:Python 算法大全,Star 超過 2 萬
4 月 27 日,GitHub 趨勢榜第 3 位是一個用 Python 編碼實現(xiàn)的算法庫,Star 數(shù)早已達(dá)到 26000+2019-04-04
Python實現(xiàn) 多進程導(dǎo)入CSV數(shù)據(jù)到 MySQL
本文給大家分享的是使用python實現(xiàn)多進程導(dǎo)入CSV文件數(shù)據(jù)到MySQL的思路方法以及具體的代碼分享,有相同需求的小伙伴可以參考下2017-02-02

