1
0
mirror of https://github.com/wbt5/real-url.git synced 2025-06-17 08:25:25 +08:00

Compare commits

...

3 Commits

Author SHA1 Message Date
wbt5
8bb3edfe39 修复虎牙、哔哩哔哩、快手、爱奇艺 2020-04-24 21:52:16 +08:00
乌帮图
924a445d4b
Merge pull request #6 from oldzhg/fix-huya
修复虎牙直播
2020-04-24 20:37:33 +08:00
oldzhg
9f1cf1423f 修复虎牙直播 2020-03-02 21:37:52 +08:00
5 changed files with 20 additions and 14 deletions

View File

@ -2,7 +2,9 @@
目前有21个直播平台斗鱼直播、虎牙直播、哔哩哔哩直播、战旗直播、网易CC直播、火猫直播、企鹅电竞、YY直播、一直播、快手直播、花椒直播、映客直播、西瓜直播、触手直播、NOW直播、抖音直播爱奇艺直播、酷狗直播、龙珠直播、PPS奇秀直播、六间房。
> 2020.02.26: 更新一直播。
> 2020.04.24:修复虎牙、哔哩哔哩、快手、爱奇艺。
> 2020.02.26:更新一直播。
> 2020.01.18:更新抖音直播。

View File

@ -1,5 +1,5 @@
# 获取哔哩哔哩直播的真实流媒体地址。
# quality=4默认画质为原画
# 现在B站直播默认画质改为高清了更高画质需登陆才可获取。
import requests

22
huya.py
View File

@ -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')

View File

@ -11,7 +11,7 @@ import urllib.parse
def get_real_url(rid):
try:
response = requests.get('https://m-live.iqiyi.com/w/' + rid).text
response = requests.get('https://m-gamelive.iqiyi.com/w/' + rid).text
# 获取直播间的qipuId
qipuId = re.findall(r'"qipuId":(\d*?),"roomId', response)[0]
callback = 'jsonp_' + str(int((time.time() * 1000))) + '_0000'

View File

@ -11,8 +11,8 @@ def get_real_url(rid):
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'}
response = requests.get(url=room_url, headers=headers).text
m3u8_url = re.findall(r'type="video/mp4" src="([\s\S]*?)_sd1000tp.m3u8', response)[0]
real_url = [m3u8_url + i for i in ['.flv', '.m3u8']]
m3u8_url = re.findall(r'type="application/x-mpegURL" src="([\s\S]*?)_sd1000(tp)?(/index)?.m3u8', response)[0]
real_url = [m3u8_url[0] + i for i in ['.flv', '.m3u8']]
except:
real_url = '该直播间不存在或未开播'
return real_url