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

分类:

技术点:

相关文章: