# -*- coding: utf-8 -*- __author__ = \'YongCong Wu\' # @Time : 2020/4/3 16:36 # @Email : : 1922878025@qq.com import requests import re def get_real_url(rid): try: if \'v.douyin.com\' in rid: room_id = re.findall(r\'(\d{19})\', requests.get(url=rid).url)[0] else: room_id = rid room_url = \'https://webcast-hl.amemv.com/webcast/room/reflow/info/?room_id={}&live_id=1\'.format(room_id) response = requests.get(url=room_url).json() hls_pull_url = response.get(\'data\').get(\'room\').get(\'stream_url\').get(\'hls_pull_url\') rtmp_pull_url = response.get(\'data\').get(\'room\').get(\'stream_url\').get(\'rtmp_pull_url\') real_url = [rtmp_pull_url, hls_pull_url] except: real_url = \'直播间不存在或未开播或参数错误\' return real_url # rid = input(\'请输入抖音直播间room_id或分享链接:\n\') real_url = get_real_url(\'https://v.douyin.com/vgHqu4/\') print(\'该直播间源地址为:\') print(real_url)
# 快手 # -*- coding: utf-8 -*- __author__ = \'YongCong Wu\' # @Time : 2020/4/3 16:41 # @Email : : 1922878025@qq.com import requests import json import re def get_real_url(rid): try: room_url = \'https://m.gifshow.com/fw/live/\' + str(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\']] except: real_url = \'该直播间不存在或未开播\' return real_url rid = input(\'请输入快手直播间ID:\n\') real_url = get_real_url(rid) print(\'该直播源地址为:\') print(real_url)