From 9f1cf1423fdf46dff6b43caa56a0d9447f790851 Mon Sep 17 00:00:00 2001 From: oldzhg Date: Mon, 2 Mar 2020 21:37:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=99=8E=E7=89=99=E7=9B=B4?= =?UTF-8?q?=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- huya.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/huya.py b/huya.py index 8873dd6..fb8fde9 100644 --- a/huya.py +++ b/huya.py @@ -5,21 +5,25 @@ import requests import re -def get_real_url(rid): - room_url = 'https://m.huya.com/' + str(rid) +def get_real_url(room_id): + room_url = 'https://m.huya.com/' + str(room_id) header = { - 'Content-Type': 'application/x-www-form-urlencoded', - 'User-Agent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Mobile Safari/537.36' + 'Content-Type': 'application/x-www-form-urlencoded', + 'User-Agent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) ' + 'Chrome/75.0.3770.100 Mobile Safari/537.36 ' } response = requests.get(url=room_url, headers=header) - pattern = r"hasvedio: '([\s\S]*.m3u8)" + pattern = r"src=\"([\s\S]*)\" data-setup" + pattern2 = r"replay" # 判断是否是回放 result = re.findall(pattern, response.text, re.I) + if re.search(pattern2, response.text): + return result[0] if result: - real_url = result[0] - real_url = re.sub(r'_1200[\s\S]*.m3u8', '.m3u8', result[0]) + url = re.sub(r'_[\s\S]*.m3u8', '.m3u8', result[0]) # 修改了正则留下了密钥和时间戳 + url = re.sub(r'hw.hls', 'al.hls', url) # 华为的源好像比阿里的卡 else: - real_url = '未开播或直播间不存在' - return real_url + url = '未开播或直播间不存在' + return "https:" + url rid = input('请输入虎牙房间号:\n')