#分享
最近买了个网课,但是想和我老婆一起看,不过换账号登录很麻烦,而且估计会有登录限制。而且还想给我们一个同事看看,换账号登录就不太现实了。
所以就想着看能不能下载下来,不过这个平台的限制做的挺死的,虽然电脑上也能播放,但是只能用微信的内置浏览器打开才可以。用第三方浏览器能打开网页,但是视频加载不出来,尝试了很多办法都没用。
后来实在没办法了就上V2ex上问了一下,有人说用Fiddler抓包可以,但是没说具体过程。
所以我先学了一下Fddler的用法。
打开软件后是下面这个布局,左边是拦截到的请求,双击左边列表中的项,在右边会出现对应的请求信息。
不过如果是https请求的话默认不会进行解密,也就无法查看具体的请求信息。所以要进选项里开启https解密
解密。
选项
https
然后就会开始截取所有电脑内的请求数据,这个时候我们运行我们想要抓包的软件,然后Fiddler就会开始拦截数据,左边的列表就会出现很多请求,我们就可以通过搜索来查找自己想要的数据了,匹配的数据整行都会变成黄色,这个颜色可以自行设定。
然后我自己去github上搜了一下看有没有相关的代码。这一搜还真让我找到了。https://github.com/Yxnt/xiaoet 这是一个python脚本,根据里面的要求去Fiddler里找对应的数据填上就可以了。
APPID = '' # APPid
XIAOEID = '' # Cookie XIAOEID
RESOURCEID = '' # ResourceID,这里的resourceid代表课程id
sessionid = '' # Cookie laravel_session
经过一番努力,终于将所有数据全部找齐。但是我全部找到后还是无法下载视频,脚本提示获取课程列表失败,后来用vscode调试了一下,发现虽然请求成功了,但是服务器返回的数据不对,导致无法解析。
我仔细分析了一下这个脚本,他用的好像是PC端的请求接口,但是我去官方查了一下,现在官方已经不提供PC端的软件了。所以如果想实现只能自己重新分析请求来找出微信版的接口列表了。
以后有时间了可以折腾一下试试看,但是最近没时间,所以在网上找了个收费解析的服务,用4.8毛钱把视频全部下载下来了。
加入评论