# -*- 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)