我爱辅助网

文章搜索
搜索
当前位置:首页 > 前沿技术 > 编程技术> 文章详情

【Python】dy直播间获取直播流地址-flv-m3u8-可取高清地址

我爱辅助网    编程技术  2022-07-31    346   0评论

flv格式直播流
清晰度:FULL_HD1 直播流: http://pull-flv-l1xxxxxx.com/stage/stream-399553588313718814_or4.flv
清晰度:HD1 直播流: http://pull-flv-l1.xxxxxx.com/stage/stream-399553588313718814_hd.flv
清晰度:SD1 直播流: http://pull-flv-l1.xxxxxx.com/stage/stream-399553588313718814_ld.flv
清晰度:SD2 直播流: http://pull-flv-l1.xxxxxx.com/stage/stream-399553588313718814_sd.flv
m3u8格式直播流
清晰度:FULL_HD1 直播流: http://pull-hls-l1.xxxxxx.com/stage/stream-399553588313718814_or4/playlist.m3u8
清晰度:HD1 直播流: http://pull-hls-l1.xxxxxx.com/stage/stream-399553588313718814_hd/playlist.m3u8
清晰度:SD1 直播流: http://pull-hls-l1.xxxxxx.com/stage/stream-399553588313718814_ld/playlist.m3u8
清晰度:SD2 直播流: http://pull-hls-l1.xxxxxx.com/stage/stream-399553588313718814_sd/playlist.m3u8

import requests
import re
def get_redirect_url(url):
    #短连接解析长链接
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'}
    response = requests.get(url,headers=headers)
    return response.url
def reflow_id(dy_url):
    #取直播间ID
    reflow_id_list = re.findall(".*reflow/(.*)\?u_code=.*", get_redirect_url(dy_url))
    if len(reflow_id_list)==0:
        return '取直播间ID错误'
    else:
        reflow_id = int(reflow_id_list[0])
        return reflow_id
def get_live_data(roomid):
    #请求直播间数据
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'}
    live_api="https://webcast.amemv.com/webcast/room/reflow/info/?type_id=0&live_id=1&room_id=%s&sec_user_id=&app_id=1128" %roomid
    live_data=requests.get(live_api,headers=headers).json()
    return live_data
def live_flv_pull_url(live_data):
    #取flv格式直播流
    print('flv格式直播流')
    flv_pull_url_data=live_data['data']['room']['stream_url']['flv_pull_url']
    key_list=list(flv_pull_url_data.keys())
    for i in range(len(key_list)):
        print("清晰度:%s 直播流: %s" %(key_list[i],flv_pull_url_data[key_list[i]]))
def live_m3u8_pull_url(live_data):
    #取m3u8格式直播流
    print("m3u8格式直播流")
    m3u8_pull_url_data=live_data['data']['room']['stream_url']['hls_pull_url_map']
    key_list = list(m3u8_pull_url_data.keys())
    for i in range(len(key_list)):
        print("清晰度:%s 直播流: %s" %(key_list[i],m3u8_pull_url_data[key_list[i]]))
#用户输入的直播间分享链接
user_url=input("请输入直播间分享链接:")
#取直播间ID,通过直播间直播流ID才能获取直播流
room_id=reflow_id(user_url)
print(room_id)
if type(room_id)=="str":
    print(room_id)
else:
    #取直播间数据
    live_data=get_live_data(room_id)
    #取flv直播流
    live_flv_pull_url(live_data)
    #取m38u直播流
    live_m3u8_pull_url(live_data)


免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
网友评论