国产露脸精品国产沙发|极品妇被弄得99久九精品亚洲|亚洲va成精品在线播放人|日韩精品久久久免费观看

    
    

        <delect id="w59je"></delect>

            當(dāng)前位置:首頁(yè) > 世界杯資訊 > 正文內(nèi)容

            給大家科普一下光輝娛樂(lè)下471187作(2022已更新(今日/知乎)

            杏彩體育2年前 (2022-12-31)世界杯資訊48

            背景圖片斗魚(yú)直播間比賽截圖

            最近在看英雄聯(lián)盟比賽的時(shí)候,就在思考如何取直播的真實(shí)rtmp播放地址,放到類(lèi)似于(potplayer播放器)中,或者自己也可以寫(xiě)一個(gè)app來(lái)玩一下,所以便有了本篇的內(nèi)容。

            1:工具類(lèi)下載

            搜索關(guān)鍵字:"斗魚(yú)直播間真實(shí)rtmp地址獲取"下載工具

            鏈接: https://pan.baidu.com/s/1lU3PVi3YRiYioFECy7bvog 提取碼: snbz

            下載下來(lái)是一個(gè)可執(zhí)行的exe文件

            鼠標(biāo)雙擊即可運(yùn)行,然后輸入房間號(hào)(房間號(hào)通常為1~7位純數(shù)字,瀏覽器地址欄中看到的房間號(hào)不一定是真實(shí)rid),如。

            可以看到直播間地址為:http://tx2play1.douyucdn.cn/live/3857053rcp0Jiusv.flv?uuid=

            說(shuō)明:

            后面內(nèi)容的是python實(shí)現(xiàn)的具體方法,如果是僅需要一個(gè)可用工具的,那么到這里就結(jié)束了,后面不必再閱讀

            2:python獲取斗魚(yú)直播間真實(shí)rtmp地址

            之前一篇文章介紹過(guò)《最經(jīng)典的Python爬蟲(chóng)(圖片)案例》,我們從各大網(wǎng)站爬取了大量的圖片,其實(shí)后來(lái)一想爬取視頻其實(shí)用python是很容實(shí)現(xiàn)的

            但為了快速實(shí)現(xiàn),避免重復(fù)造輪子,我在網(wǎng)上查了一下,找到bilibili的視頻教學(xué)文章:如下

            【python爬蟲(chóng)】斗魚(yú)直播間真實(shí)地址rtmp爬取 代碼下載鏈接: https://pan.baidu.com/s/1Wmc5OSqGHnCw9u75FkGdrA

            提取碼: yj44

            說(shuō)明:在運(yùn)行該模塊的時(shí)候需要保證python有以下模塊( requests,bs4 ,BeautifulSoup,re正則,json, execjs,time),你可以使用pip install 升級(jí)安裝,因?yàn)槲业氖切码娔X,當(dāng)前我安裝的pip最新版本為:

            最后在終端下輸入:python .\py1.py,運(yùn)行程序結(jié)果如下:

            可以看到成功獲取到了斗魚(yú)直播的分類(lèi)信息,但是卻拿不到rtmp地址,我看了一下視頻的發(fā)布日期: 2020-05-06 22:11:10,時(shí)間不久,可能是斗魚(yú)升級(jí)了的原因?qū)е?,但也給了我思路,那只能自己來(lái)實(shí)現(xiàn)了,下面簡(jiǎn)單說(shuō)一下實(shí)現(xiàn):

            其實(shí)代碼很少,關(guān)鍵點(diǎn)就這些:

            1.url = https://playweb.douyucdn.cn/lapi/live/hlsH5Preview/

            + self.rid

            2.url = https://m.douyu.com/api/room/ratestream3.return "http://tx2play1.douyucdn.cn/live/{}.flv?uuid=".format(key)

            首先打開(kāi)斗魚(yú)官網(wǎng),F(xiàn)12進(jìn)入到調(diào)試模式,

            通過(guò)抓包我們能找到一些數(shù)據(jù),如關(guān)鍵請(qǐng)求接口

            通過(guò)這個(gè)接口我們可以查看到 xTraceWhiteList的一個(gè)Response,大概根據(jù)意思,好像是接口白名單,

            如圖中黑色標(biāo)記出來(lái),那么它的值就是: http://m.douyu.com/api/room/ratestream

            而這個(gè)正是我們需要url請(qǐng)求的,至于http://tx2play1.douyucdn.cn/live/{}.flv?這個(gè)拼接的url就和bilibili那個(gè)視頻里面是一樣的

            完整的參數(shù)

            {"error":0,"msg":"操作成功","data":{"jsonpErrorOn":"1","httpErrorResponseFilter":"請(qǐng)先登錄,您已關(guān)注了這個(gè)直播間","fpsPerformOn":"0","serviceErrorOn":"1","jsonpPerfomOn":"1","componentPerformOn":"1","socketErrorOn":"0","servicePerformOn":"1","performOn":"1","epicErrorOn":"1","httpThreshold":"5000","threshold.abnormal":"120000","reportLength":"10","fmpOn":"0","httpErrorOn":"1","componentErrorOn":"1","jsErrorStackFilter":"sc.58mingtian.cn,&lt;img src="" alt="斗魚(yú)直播"&gt;,chrome-extension,$","httpPerformOn":"1","cookiePre":"acf_","socketPerformOn":"0","probability":"0.003","epicPerformOn":"1","resourceErrorOn":"1","perform":"1","dbg":"false","schemasErrorOn":"1","url":"https://mapm.douyucdn.cn/wapm/collect","pagePerformOn":"1","jsErrorOn":"1","threshold.slowPage":"2000","xTraceWhiteList":"/japi/task,/japi/carnival,m.douyu.com/api/room/ratestream,lapi/athena/,/wgapi/livenc/liveweb/","threshold.slowAjax":"500","reportTime":"5","client_code":"web"},"redirectUrl":null}

            最后是完成源碼DouYu.py參考:

            # 獲取斗魚(yú)直播間的真實(shí)流媒體地址,默認(rèn)最高畫(huà)質(zhì)。 import requests import re import execjs import time import hashlib class DouYu: def __init__(self, rid): # 房間號(hào)通常為1~7位純數(shù)字,瀏覽器地址欄中看到的房間號(hào)不一定是真實(shí)rid. self.did = 10000000000000000000000000001501 self.t10 = str(int(time.time())) self.t13 = str(int((time.time() * 1000))) self.s = requests.Session() self.res = self.s.get(https://m.douyu.com/ + str(rid)).text result = re.search(rrid":(\d{1,7}),"vipId, self.res) if result: self.rid = result.group(1) else: print(房間號(hào)錯(cuò)誤) @staticmethod def md5(data): return hashlib.md5(data.encode(utf-8)).hexdigest() def get_pre(self): url = https://playweb.douyucdn.cn/lapi/live/hlsH5Preview/ + self.rid data = { rid: self.rid, did: self.did } auth = DouYu.md5(self.rid + self.t13) headers = { rid: self.rid, time: self.t13, auth: auth } res = self.s.post(url, headers=headers, data=data).json() error = res[error] data = res[data] key = if data: rtmp_live = data[rtmp_live] key = re.search(r(\d{1,7}[0-9a-zA-Z]+)_?\d{0,4}(/playlist|.m3u8), rtmp_live).group(1) return error, key def get_js(self): result = re.search(r(function ub98484234.*)\s(var.*), self.res).group() func_ub9 = re.sub(reval.*;}, strc;}, result) js = execjs.compile(func_ub9) res = js.call(ub98484234) v = re.search(rv=(\d+), res).group(1) rb = DouYu.md5(self.rid + self.did + self.t10 + v) func_sign = re.sub(rreturn rt;}\);?, return rt;}, res) func_sign = func_sign.replace((function (, function sign() func_sign = func_sign.replace(CryptoJS.MD5(cb).toString(), " + rb + ") js = execjs.compile(func_sign) params = js.call(sign, self.rid, self.did, self.t10) params += &ver=219032101&rid={}&rate=-1.format(self.rid) url = https://m.douyu.com/api/room/ratestream res = self.s.post(url, params=params).text key = re.search(r(\d{1,7}[0-9a-zA-Z]+)_?\d{0,4}(.m3u8|/playlist), res).group(1) return key def get_real_url(self): error, key = self.get_pre() if error == 0: pass elif error == 102: print(房間不存在) elif error == 104: print(房間未開(kāi)播) else: key = self.get_js() return "http://tx2play1.douyucdn.cn/live/{}.flv?uuid=".format(key) if __name__ == __main__: r = input([知乎Bgwan提示]請(qǐng)輸入斗魚(yú)直播間號(hào):\n) s = DouYu(r) print(s.get_real_url())

            修改以后再次運(yùn)行可以成功拿到直播間地址

            然后就可以用播放器(電腦的pc,android,ios)打開(kāi),后面我會(huì)單獨(dú)在Android專欄中更新android直播的解決方案,會(huì)關(guān)聯(lián)到本篇內(nèi)容,敬請(qǐng)期待

            說(shuō)明:未來(lái)斗魚(yú)升級(jí)可能會(huì)同樣導(dǎo)致本代碼不可用,(本文發(fā)布日期為:2020-09-05)這點(diǎn)請(qǐng)知;關(guān)于如何在各個(gè)接口和控制臺(tái)中尋找一些關(guān)鍵的點(diǎn),也需要一定的技術(shù)積累,具體可以自行百度參考,或者系統(tǒng)的學(xué)習(xí)python相關(guān)知識(shí),本篇內(nèi)容僅共學(xué)習(xí)參考.

            以上內(nèi)容便是,斗魚(yú)直播間真實(shí)rtmp地址獲取(含工具類(lèi)下載)全部?jī)?nèi)容

            請(qǐng)尊重勞動(dòng)成果,注意文中版權(quán)聲明,人工智能專欄不定時(shí)更新,歡迎點(diǎn)擊關(guān)注我知乎。也可以同時(shí)關(guān)注Android專欄文藝語(yǔ)錄專欄,本內(nèi)容作者sunst,技術(shù)上有問(wèn)題請(qǐng)溝通qyddai@gmail.com

            作者:sunst 發(fā)布日期:2020-09-05 21:11 修改日期:2020-09-08 15:19

            掃描二維碼推送至手機(jī)訪問(wèn)。

            版權(quán)聲明:本文由財(cái)神資訊-領(lǐng)先的體育資訊互動(dòng)媒體轉(zhuǎn)載發(fā)布,如需刪除請(qǐng)聯(lián)系。

            本文鏈接:http://thecityplacetownhomes.com/?id=21795

            “給大家科普一下光輝娛樂(lè)下471187作(2022已更新(今日/知乎)” 的相關(guān)文章

            奇幻!時(shí)隔9年《網(wǎng)球王子》再翻拍,當(dāng)年打醬油的現(xiàn)在都火了...

            奇幻!時(shí)隔9年《網(wǎng)球王子》再翻拍,當(dāng)年打醬油的現(xiàn)在都火了...

            最近翻拍風(fēng)又吹起來(lái)了,《粉紅女郎》要翻拍了,《網(wǎng)球王子》也要翻拍了,而且后者連演員都定好了。 就是從今年快男比賽出來(lái)的趙英博、養(yǎng)雞(張航)和魏巡,看到這個(gè)名單后,部分觀眾是擔(dān)憂的,但橘子君先不說(shuō)啥了,畢竟最終成品誰(shuí)也沒(méi)看到......

            給大家科普一下2022卡塔爾世界杯足球(2022已更新(今日/知乎)

            給大家科普一下2022卡塔爾世界杯足球(2022已更新(今日/知乎)

              網(wǎng)球王子如今的漫畫(huà),真的是越來(lái)越離譜和奇葩了,目前篇章已經(jīng)推進(jìn)到了網(wǎng)王死囚篇,這次的敵人是一開(kāi)始就成功通過(guò)網(wǎng)球催眠打法,順利越獄的高三美男西班牙代表隊(duì)的馬爾斯,而具體的實(shí)戰(zhàn)中的技能和戰(zhàn)斗力表現(xiàn),可以說(shuō)更加的夸張和離譜,如今網(wǎng)球王子已經(jīng)徹底變成了戰(zhàn)斗熱血系的漫畫(huà)了。   ...

            給大家科普一下股票對(duì)賭盤(pán)(2022已更新(今日/知乎)

            給大家科普一下股票對(duì)賭盤(pán)(2022已更新(今日/知乎)

            青春不散場(chǎng),王子永龍馬!青春是一場(chǎng)永遠(yuǎn)不散場(chǎng)的回憶,很多人的青春伴隨著非常多不同的動(dòng)漫,也許并不是制作精良、畫(huà)面優(yōu)質(zhì)、劇情完美,但卻在那個(gè)時(shí)候階段陪伴了我們整個(gè)青春,越前龍馬對(duì)于90后來(lái)說(shuō)應(yīng)該是一個(gè)非常不陌生的名字了,今天為大家推薦一部非?;鸨啻旱膭?dòng)漫、名字叫做“網(wǎng)球王子”!...

            給大家科普一下世界杯在哪里買(mǎi)(2022已更新(今日/知乎)

            哈 @李暘 老師說(shuō)的已經(jīng)很全面了~ 我從個(gè)人觀點(diǎn)補(bǔ)充一些 一、你學(xué)球的目的是什么?不同的目的,有著不同的學(xué)習(xí)方向和...

            給大家科普一下對(duì)賭 賭博罪(2022已更新(今日/知乎)

            給大家科普一下對(duì)賭 賭博罪(2022已更新(今日/知乎)

            周六023 世界杯 法國(guó)VS丹麥 比賽時(shí)間:2022-11-27 00:00 四年前的俄羅斯世界杯上,法國(guó)隊(duì)在決賽中4:2戰(zhàn)勝克羅地亞隊(duì),時(shí)隔20年再度捧起世界杯冠軍獎(jiǎng)杯,主教練德尚成為繼扎加洛、貝肯鮑爾之后,以球員和主教練身份都贏得過(guò)世界杯冠軍的第三人。本屆世界杯中法國(guó)依然是世界...

            給大家科普一下賭博最大平臺(tái)(2022已更新(今日/知乎)

            給大家科普一下賭博最大平臺(tái)(2022已更新(今日/知乎)

            北京時(shí)間9月11日凌晨2點(diǎn)45,B組一場(chǎng)焦點(diǎn)大戰(zhàn)在葡萄牙與立陶宛之間展開(kāi)。此前,葡萄牙三戰(zhàn)取得1勝2平,積5分排名小組第2,上一輪4-2客場(chǎng)擊敗塞爾維亞,狀態(tài)不錯(cuò)。而他們的對(duì)手立陶宛四輪1平3負(fù)小組墊底,兩隊(duì)實(shí)力...

            ?