bilibili直播間自動發射彈幕

bilibili直播間自動發射彈幕

?

圖片來源:MONO情話


作者

吳宇峰

簡介

Python的追隨者。個人公號:吳宇峰的python

如需轉載,請聯繫原作者授權。


調用圖靈機器人api實現彈幕回復。

運行平台: Windows

Python版本: Python3.5

IDE: Pycharm


0、寫在前面的話

我這幾天一直在b站看直播,人氣高的一些直播間經常會有麥片哥的出現,伴隨一大波的「粨度~搜 |XXX| XXXXXX」,覺得很有意思。然後我就想嘗試用python實現一下。

1、模擬發送彈幕

我們隨便打開一個直播間:

然後打開檢查元素,切換到network,發送一個666,然後抓到一個send,可以看到用的是post方法,那麼我們只要模擬這個post就行了:

我寫了一個類,因為調用更方便。cookie是模擬自己賬戶登錄的狀態,我們這裡還是發送了一句666。只要寫一個循環就可以實現刷彈幕了,不過post請求的間隔不能小於2s,不然會丟失。

2、更進一步

發送相同的彈幕,而且間隔還那麼長,既可能被封,又實現不了麥片風暴。這當然無法滿足我。我就去網上查了相關的資料,發現麥片哥用按鍵精靈可以輕鬆實現。還發現早就有人做過相同內容了,他們是通過獲取彈幕區里的彈幕,然後發送相同的彈幕。那我們也來實現一下。

抓一下包,發現在msg里即時的保存了10條彈幕信息:

在初始化實例中加入url2,定義獲取彈幕的函數,然後隨機選取一條作為我們發送的彈幕:

3、再進一步:

當然,只是模仿別人的彈幕,還是很容易被封,如果根據彈幕的信息進行回復,那麼就比較想是一個人了,我所用的方法是接入圖靈機器人的借口,根據內容進行回復:

這是實際效果,因為這個主播沒什麼彈幕量,就變成了自己回復自己的尷尬情形,不過圖靈機器人每天調用的次數好像是1000次,不能一直用:

4、總結:

我覺得用python也是可以實現麥片風暴的,我之前想通過多個賬號同時發送,但是b站好像只能一個賬號登錄。不過,也是可以通過多進程實現的吧,只不過我不會。這個是可以同時向多個直播間發送彈幕的。頻率太高還是可能會被的封的哦。

喜歡就關注我的公眾號吧:吳宇峰的python 有更多內容和你分享!

Github代碼:github.com/evelister/bi

- The End -


推薦閱讀:

用python寫一個加密工具
Python數據分析之數據清洗
知乎為什麼用Python,而不用PHP?
請問有哪些優秀Python課程推薦?
第五章 一等函數

TAG:Python | 嗶哩嗶哩直播 |