如何獲取鬥魚直播間的彈幕資訊?

時間 2021-05-13 05:41:53

1樓:zcreturn0

2023年鬥魚已經採用websocket方式獲取彈幕了,寫了個npm模組獲取彈幕:

dy-barrage

附上原始碼:

原始碼實現了連線鬥魚彈幕伺服器,接收資料並轉為json返回.等閒下來寫篇文章分享下思路吧

2樓:

鬥魚彈幕對應的php版本實現,對各種訊息型別進行了分類處理,實測在資料量極大的情況下依然不會崩潰,且訊息處理正常

鬥魚彈幕的github位址

3樓:LittleCoder

用python的話有第三方包:第三方包位址相容py23,鬥魚、熊貓、戰旗、全民、Bilibili多平台。

pip安裝一下danmu,就可以用了

彈幕二次開發只要這樣:

4樓:匣中失樂

鬥魚已經開放第三方介面了,獲取彈幕的流程變得簡單了許多:

《鬥魚彈幕伺服器第三方接入協議v1.4.1》發布資訊鬥魚開發者論壇openbarrage.douyutv.com埠:8601

1.客戶端向伺服器端傳送登入請求,格式為;

type@=loginreq/roomid@=****/(再也不用想方設法的獲取房間gid了,直接輸入房間號就行(* ̄ ̄*))

2.伺服器將登陸成功的訊息返回給客戶端,單純的相應而已3.客戶端收到登入成功訊息後傳送進入彈幕分組請求給伺服器,格式為:

type@=joingroup/rid@=****/gid@=-9999/

(gid為固定的-9999,該組成員將接受對應直播間全部彈幕~rid也是當前房間號)

4.伺服器持續將新的彈幕響應傳送給客戶機

*客戶端需要每隔 45 秒傳送心跳資訊給彈幕伺服器

5樓:言誠

早期我在看這個回答的時候只有3個答案,自己抓包,然後被困在了獲取遊客ID的路上。

後面幾個高票答案讓我解決了這個難題,在此謝過。

寫了乙個iOS版本小彈幕助手,水平較低,給大家看看。

GitHub - Imbad-vc/DouyuTVDanmuAssistant: a Danmu Assistant in iOS version

6樓:

《鬥魚彈幕伺服器第三方接入協議》發布資訊鬥魚開發者論壇

不用辛辛苦苦的去破解了,鬥魚已經公開他們的協議了。。。。

貌似是近期要上線的新版彈幕協議。

7樓:魔群月光

既然沒人發nodejs版,那我就發乙個吧

varnet

=require

('net'

);var

uuid

=require

('node-uuid'

);var

md5=

require

('md5'

);var

request

=require

('request'

);var

HOST

='danmu.douyutv.com'

;var

PORT

=8602

;function

send

(socket

,payload

)function

login

(socket

,roomid

,user

,password

)function

getGroupServer

(roomid

,callback),

function

(err

,resp

,body));

}function

getGroupId

(roomid

,callback));

socket.on

('data'

,function

(data

)});

});}

function

monitorRoom

(roomid));

setInterval

(function(),

50000

);socket.on

('data'

,function

(data));

}elseif(

data

.indexOf

('type@=chatmessage'

)>=0)

elseif(

data

.indexOf

('type@=userenter'

)>=0||

data

.indexOf

('type@=keeplive'

)>=0||

data

.indexOf

('type@=dgn/gfid@=131'

)>=0||

data

.indexOf

('type@=blackres'

)>=0||

data

.indexOf

('type@=dgn/gfid@=129'

)>=0||

data

.indexOf

('type@=upgrade'

)>=0||

data

.indexOf

('type@=ranklist'

)>=0||

data

.indexOf

('type@=onlinegift'

)>=0)

elseif(

data

.indexOf

('type@=spbc'

)>=0)

else

});}

monitorRoom

('《這裡填roomid>');

8樓:圖微

openbarrage.douyutv.com:8601

這是專門給第三方開發使用的。

2.gid = -9999,可以獲取到該房間的所有彈幕

登入請求也變簡單了,詳請請見官方文件。

我用Qt寫了個demo,有點簡陋,有bug會閃退,有興趣可以看一下。GitHub - castnime/douyu_danmu_QtDemo: qt寫的乙個獲取鬥魚彈幕的demo

不一定要vk,可以嘗試type@=loginreq/username@=/ct@=0/password@=/roomid@=138286/。

然後遍歷room_args中的伺服器ip和port。不過有時可能嘗試時間較長才能成功。

ps: @Brucezz 中的vk計算方法得到的值和抓包得到的值貌似不同。但是用這種方法計算出vk能夠很快登入。

如何評論鬥魚刪除張大仙直播間的行為?

sss 當然是偉大的社會主義資本社會的行為啦。天天吵吵社會主義,反而是社會上的社會現象,都是資本運作的可愛嘴臉呢,吃相喜人,幹嘛要人管,996,都已經這麼講究人權了,當然要獲得大家贊同呢。這麼和諧的景象,為啥要關心乙個不給公司掙錢不讓小朋友刷禮物的壞主播啊。我們就喜歡55開那樣,嘴臭,血媽,香蕉批張...

如何看待爽哥的鬥魚直播間疑似因直播艦C被二五仔舉報後再次被封?

Patriarcha 既然走到這一步,那不如把6655關了吧。爽哥不是上海楓皇,楓皇說黃浦江就黃浦江,阿爽把你們沉錢塘江了嗎?鬥魚這些年做成什麼樣子,還用大家說嗎,反正爽就是和朋友玩r6,真有需要直接qq群轉播就好了。既然sb這麼多,不如繞著sb走,又不是以前穆斯林騎臉就賭著一股氣把他們再趕回直布羅...

如何看待8月18日ywwuyi鬥魚直播間黑屏人氣破萬?

沒吃藥的劍主 開頭有b小將和低齡月球人在搞事 然後後面訊息傳到真實猛男月廚群 一群狗頭人蜂擁而至圍觀爽粉丟人 一螢幕的爽語錄 差點笑死在電腦前 本來一場萌二大戰神奇地變成了爽粉猛男狂歡 Patriarcha 我來表演丟人魔術了,各位把家裡公尺缸蓋一下。爽哥暨四季使者之後,又迎來了黑屏春天,怕是故意蹭...