廢話不多,先上演示代碼,python2與python3及全平臺支持。
源代碼見這里,歡迎 Star 與 Fork。
import time, sys
from danmu import DanMuClient
def 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.danmu
def danmu_fn(msg):
pp('[%s] %s' % (msg['NickName'], msg['Content']))
@dmc.gift
def gift_fn(msg):
pp('[%s] sent a gift!' % content['NickName'])
@dmc.other
def 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 DanMuClient
dmc = DanMuClient('http://www.douyu.com/lslalala')
@dmc.default
def default_fn(msg):
pp('[%s] %s' % (msg['NickName'], msg['Content']))
取消已經注冊過的方法
通過以下方式可以取消某一種類型的注冊。
from danmu import DanMuClient
dmc = DanMuClient('http://www.douyu.com/lslalala')
dmc.default(None)
dmc.gift(None)
Comments
如果有什么問題或者建議都可以在這個Issue和我討論
或者也可以在gitter上交流:![gitter][gitter_picture]