有了danmu,二十行代碼輕鬆愉快對彈幕進行二次開發
廢話不多,先上演示代碼,py2與py3及全平台支持。
源代碼見這裡,歡迎 Star 與 Fork。
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! % content[NickName])@dmc.otherdef other_fn(msg): pp(Other message received)dmc.start(blockThread = True)
danmu 是一個開源的直播平台彈幕介面,使用他沒什麼基礎的你也可以輕鬆的操作各平台彈幕。
使用不到三十行代碼,你就可以使用Python基於彈幕進一步開發。
支持鬥魚、熊貓、戰旗、全民多平台彈幕。
支持各版本Python,無平台依賴,方便各類開發者、愛好者使用。
一次開啟,主播上線自動連接,下線後上線自動重連。
經過深度優化,幾乎不漏過任何一條彈幕;使用抽象構架,方便修改與開發。
Installation
可以通過本命令安裝 danmu:
pip install danmu
Screenshot
Documents
你可以在這裡獲取使用幫助。
Advanced uses
設置默認的消息處理方式
消息被分為三種類型註冊:danmu, gift, other
分別對應:普通彈幕,禮物消息,其他消息
如果某種類型沒有註冊過,將會使用默認方法,默認方法的註冊方式如下:
from danmu import DanMuClientdmc = DanMuClient(http://www.douyu.com/lslalala)@dmc.defaultdef default_fn(msg): pp([%s] %s % (msg[NickName], msg[Content]))
取消已經註冊過的方法
通過以下方式可以取消某一種類型的註冊。
from danmu import DanMuClientdmc = DanMuClient(http://www.douyu.com/lslalala)dmc.default(None)dmc.gift(None)
Comments
如果有什麼問題或者建議都可以在這個Issue和我討論
推薦閱讀:
※是什麼讓你留在AcFun?
※彈幕為什麼不做成可以艾特別的評論的形式?
※如何看待 b 站彈幕現狀?
※彈幕電影(秦時明月、小時代)是怎樣實現的?
※如何正確做答B站的規範發言測試答卷?