本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删! |
小鹅通视频下载分析及实现
操作环境
- 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