bilibili直播間自動發射彈幕
?
圖片來源:MONO情話
作者
吳宇峰
簡介
Python的追隨者。個人公號:吳宇峰的python
如需轉載,請聯繫原作者授權。
調用圖靈機器人api實現彈幕回復。
運行平台: Windows
Python版本: Python3.5IDE: Pycharm0、寫在前面的話
我這幾天一直在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代碼:https://github.com/evelister/bilibilidanmu
- The End -
推薦閱讀:
※用python寫一個加密工具
※Python數據分析之數據清洗
※知乎為什麼用Python,而不用PHP?
※請問有哪些優秀Python課程推薦?
※第五章 一等函數