每個大主播都是滿屏彈幕,怎麼做到的?Python實戰無限刷彈幕!

anmu 是一個開源的直播平臺彈幕接口,使用他沒什麼基礎的你也可以輕鬆的操作各平臺彈幕。使用不到三十行代碼,你就可以使用Python基於彈幕進一步開發。支持鬥魚、熊貓、戰旗、全民、Bilibili多平臺彈幕。支持各版本Python,無平臺依賴,方便各類開發者、愛好者使用。一次開啓,主播上線自動連接,下線後上線自動重連。

給喜歡的主播來個愛的轟炸。

經過深度優化,幾乎不漏過任何一條彈幕;使用抽象構架,方便修改與開發。

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

分別對應:普通彈幕,禮物消息,其他消息。可以關注我一直在學習的龔總好「CoXie帶你學編程」(id:Pythoni521)。

如果某種類型沒有註冊過,將會使用默認方法,默認方法的註冊方式如下:

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,對應用戶名、消息內容、消息類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章