anmu 是一個開源的直播平台彈幕接口,使用他沒什么基礎的你也可以輕松的操作各平台彈幕。使用不到三十行代碼,你就可以使用Python基於彈幕進一步開發。支持斗魚、熊貓、戰旗、全民、Bilibili多平台彈幕。支持各版本Python,無平台依賴,方便各類開發者、愛好者使用。一次開啟,主播上線自動連接,下線后上線自動重連。
給喜歡的主播來個愛的轟炸。
經過深度優化,幾乎不漏過任何一條彈幕;使用抽象構架,方便修改與開發。
歡迎加入柯西學python群:725479218,歡迎大家加入!!!!!
Documents
你可以在官網獲取使用幫助。
Installation
可以通過本命令安裝 danmu:
pip install danmu
Simple uses
通過如下代碼,可以初步通過Python對彈幕進行處理。
import time, sysfrom danmu
import DanMuClientdef
pp(msg):
print(msg.encode(sys.stdin.encoding, 'ignore'). decode(sys.stdin.encoding))
dmc = DanMuClient('http://www.douyu.com/lslalala')
if not dmc.isValid():
print('Url not valid')
@dmc.danmudef danmu_fn(msg):
pp('[%s] %s' % (msg['NickName'], msg['Content']))
@dmc.giftdef gift_fn(msg):
pp('[%s] sent a gift!' % msg['NickName'])
@dmc.otherdef other_fn(msg):
pp('Other message received')
dmc.start(blockThread = True)
Screenshot
Advanced uses
設置默認的消息處理方式
消息被分為三種類型注冊:danmu, gift, other
分別對應:普通彈幕,禮物消息,其他消息
如果某種類型沒有注冊過,將會使用默認方法,默認方法的注冊方式如下:
from danmu import DanMuClientdmc = DanMuClient('斗魚網頁')
@dmc.defaultdef default_fn(msg):
pp('[%s] %s' % (msg['NickName'], msg['Content']))
取消已經注冊過的方法
通過以下方式可以取消某一種類型的注冊。
from danmu import DanMuClientdmc = DanMuClient('斗魚網頁')
dmc.default(None)dmc.gift(None)
FAQ
Q: 獲取的消息格式都是什么?
A: 消息為一個字典,必有三個鍵:NickName、Content、MsgType,對應用戶名、消息內容、消息類型。