首页 > 其他分享 >小鹅通视频下载分析及实现

小鹅通视频下载分析及实现

时间:2022-11-13 00:55:56浏览次数:34  
标签:info 小鹅通 视频 url m3u8 param video urls 下载

本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

小鹅通视频下载分析及实现

操作环境

  • win10 、 mac
  • Fddler、Charles
  • Python3.9
  • requests

方案一

猫抓+链接置换+m3u8下载器

已购视频可以先通过chrome猫抓插件抓取到视频m3u8
在这里插入图片描述
提取的m3u8链接加密的,需要解一下key,和替换一下请求链接,已经有大神写好了置换工具
在这里插入图片描述
使用m3u8下载器下载视频
在这里插入图片描述

方案二

Charles抓包+Python脚本

抓取video_url
在这里插入图片描述

Python脚本解析key并构造下载链接

def get_detail_info():
    url = f'https://{APPID}.h5.xiaoeknow.com/xe.course.business.video.detail_info.get/2.0.0'
    data = {
        'bizData[resource_id]': resource_id,
        'bizData[product_id]': product_id,
        'bizData[opr_sys]': 'Win32'
    }
    response = requests.post(url, headers=HEADERS, data=data)
    response = response.json()
    video_info = response['data']['video_info']
    video_length = video_info['video_length']
    file_name = video_info['file_name']
    video_urls = response['data']['video_urls']
    video_urls = json.loads(dec_m3u8(video_urls))
    results = []
    for video_url in video_urls:
        host = video_url['ext']['host']
        path = video_url['ext']['path']
        baseuri = host + '/' + path + '/'
        param = '?' + video_url['ext']['param']
        m3u8url = video_url['url']
        # print(baseuri, param)
        info = {
            'm3u8url': m3u8url,
            'baseuri': baseuri,
            'param': param,
            'file_name': file_name
        }
        results.append(info)
    return results

方案三

Fiddler脚本

在这里插入图片描述
在这里插入图片描述



本文仅供学习交流使用,如侵立删!

标签:info,小鹅通,视频,url,m3u8,param,video,urls,下载
From: https://www.cnblogs.com/c1033383881/p/16885236.html

相关文章