获取抖音,快手直播数据流

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