mirror of
https://github.com/wbt5/real-url.git
synced 2025-06-17 08:25:25 +08:00
52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
import re
|
||
import sys
|
||
|
||
import requests
|
||
|
||
DEBUG = False
|
||
|
||
headers = {
|
||
'authority': 'v.douyin.com',
|
||
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
|
||
}
|
||
|
||
url = input('请输入抖音直播链接或19位room_id:')
|
||
if re.match(r'\d{19}', url):
|
||
room_id = url
|
||
else:
|
||
try:
|
||
url = re.search(r'(https.*)', url).group(1)
|
||
response = requests.head(url, headers=headers)
|
||
url = response.headers['location']
|
||
room_id = re.search(r'\d{19}', url).group(0)
|
||
except Exception as e:
|
||
if DEBUG:
|
||
print(e)
|
||
print('获取room_id失败')
|
||
sys.exit(1)
|
||
print('room_id', room_id)
|
||
|
||
try:
|
||
headers.update({
|
||
'authority': 'webcast.amemv.com',
|
||
'cookie': '_tea_utm_cache_1128={%22utm_source%22:%22copy%22%2C%22utm_medium%22:%22android%22%2C%22utm_campaign%22:%22client_share%22}',
|
||
})
|
||
|
||
params = (
|
||
('type_id', '0'),
|
||
('live_id', '1'),
|
||
('room_id', room_id),
|
||
('app_id', '1128'),
|
||
)
|
||
|
||
response = requests.get('https://webcast.amemv.com/webcast/room/reflow/info/', headers=headers, params=params).json()
|
||
|
||
rtmp_pull_url = response['data']['room']['stream_url']['rtmp_pull_url']
|
||
hls_pull_url = response['data']['room']['stream_url']['hls_pull_url']
|
||
print(rtmp_pull_url)
|
||
print(hls_pull_url)
|
||
except Exception as e:
|
||
if DEBUG:
|
||
print(e)
|
||
print('获取real url失败')
|