1
0
mirror of https://github.com/wbt5/real-url.git synced 2025-07-30 13:22:12 +08:00

更新快手直播

This commit is contained in:
wbt5 2020-08-18 21:54:21 +08:00
parent 40eecd5bcf
commit c4ab4dfb71

View File

@ -1,25 +1,29 @@
# 获取快手直播的真实流媒体地址,默认输出最高画质 # 获取快手直播的真实流媒体地址,默认输出最高画质
import requests
import json import json
import re import re
import requests
def get_real_url(rid):
try: def kuaishou(rid):
room_url = 'https://m.gifshow.com/fw/live/' + str(rid)
headers = { headers = {
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1', 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 '
'(KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
'cookie': 'did=web_'} 'cookie': 'did=web_'}
response = requests.get(url=room_url, headers=headers).text with requests.Session() as s:
m3u8_url = re.findall(r'type="application/x-mpegURL" src="([\s\S]*?)_sd1000(tp)?(/index)?.m3u8', response)[0] res = s.get('https://m.gifshow.com/fw/live/{}'.format(rid), headers=headers)
real_url = [m3u8_url[0] + i for i in ['.flv', '.m3u8']] livestream = re.search(r'liveStream":(.*),"obfuseData', res.text)
except: if livestream:
real_url = '该直播间不存在或未开播' livestream = json.loads(livestream.group(1))
return real_url *_, hlsplayurls = livestream['multiResolutionHlsPlayUrls']
urls, = hlsplayurls['urls']
url = urls['url']
return url
else:
raise Exception('直播间不存在或未开播')
rid = input('请输入快手直播间ID\n') if __name__ == '__main__':
real_url = get_real_url(rid) r = input('输入快手直播房间号:\n') # 例jjworld126
print('该直播源地址为:') print(kuaishou(r))
print(real_url)