From e8816f7d0c05fc35ba8c7411b2ba96178ea91cf9 Mon Sep 17 00:00:00 2001 From: wbt5 Date: Wed, 4 Dec 2019 23:04:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=80=E7=A7=8D=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- douyu.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/douyu.py b/douyu.py index 7623092..511a4c0 100644 --- a/douyu.py +++ b/douyu.py @@ -1,5 +1,6 @@ # 获取斗鱼直播间的真实流媒体地址,可在PotPlayer、flv.js等播放器中播放。 # 2019年11月2日:修复斗鱼预览地址获取的方法;新增未开播房间的判断。 +# 2019年12月4日:斗鱼更新后更简单了,可直接在播放页源码的JS中找到播放地址。 import requests @@ -125,6 +126,21 @@ def get_real_url(rid): return real_url +def get_url_from_js(rid): + # 从播放页源代码中直接匹配地址 + header = { + 'Content-Type': 'application/x-www-form-urlencoded' + } + try: + response = requests.get('https://www.douyu.com/{}'.format(rid), headers=header).text + real_url = re.findall(r'live/({}[\d\w]*?)_'.format(rid), response)[0] + except: + real_url = '直播间未开播或不存在' + return "http://tx2play1.douyucdn.cn/live/" + real_url + ".flv?uuid=" + + rid = input('请输入斗鱼数字房间号:\n') real_url = get_real_url(rid) print('该直播间地址为:\n' + real_url) + +# print(get_url_from_js('85894')) \ No newline at end of file