標籤:

有了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站的規範發言測試答卷?

TAG:Python | 弹幕 |