有道课程要过期了,研究一下怎么下载回放。
通过调试工具查看有道精品课页面元素,发现居然不是blob视频,video直接指向了一个mp4文件。
系统:Windows
浏览器:新版Microsoft Edge(Chromium内核)
工具:Windows PowerShell
正文开始
首先,尝试直接访问指向的mp4文件,发现403 Forbidden了…
看来还是做了防盗链的嘛…
回到播放页,F12切到网络选项卡刷新页面发现有个请求很长,半天都没停。点进去看看,果然是视频的缓存请求。
右键这个请求,发现Edge提供了一个“复制为PowerShell”选项。
然后就复制出来这样一串东西
Invoke-WebRequest -Uri "https://stream.ydstatic.com/private/xuetang/202008/xxxx/xxxxx.mp4?r=xxxxxxxx" -Headers @{
"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 Edg/84.0.522.52"
"Accept"="*/*"
"Origin"="https://live.youdao.com"
"Sec-Fetch-Site"="cross-site"
"Sec-Fetch-Mode"="cors"
"Sec-Fetch-Dest"="empty"
"Referer"="https://live.youdao.com/live/index.html?courseId=xxxxx&lesson=xxxx&liveId=xxxx5&groupId=xxxx&token=xxxx"
"Accept-Encoding"="gzip, deflate, br"
"Accept-Language"="zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
}
(有些东西用xxx
代替,大家看得懂就行)
右键开始菜单,打开Windows PowerShell,直接把这一串粘进去运行,发现大概成这样
结果读取完了,啥都没有…
网上查了一下,可以用-o
选项输出成文件。于是把指令大概改成这样试了下
Invoke-WebRequest -Uri "https://stream.ydstatic.com/private/xuetang/202008/xxxx/xxxxx.mp4?r=xxxxxxxx" -Headers @{
"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 Edg/84.0.522.52"
"Accept"="*/*"
"Origin"="https://live.youdao.com"
"Sec-Fetch-Site"="cross-site"
"Sec-Fetch-Mode"="cors"
"Sec-Fetch-Dest"="empty"
"Referer"="https://live.youdao.com/live/index.html?courseId=xxxxx&lesson=xxxx&liveId=xxxx5&groupId=xxxx&token=xxxx"
"Accept-Encoding"="gzip, deflate, br"
"Accept-Language"="zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6" -o "E:\有道课程下载\test.mp4"
}
(就是在末尾加了个空格,然后写上-o "文件路径"
,这里写的是-o "E:\有道课程下载\test.mp4"
)
把这一段重新粘贴到PowerShell里,等待写入字节完成,即可在路径里找到下载好的回放了
播放一下,发现这样下载下来还没有用户名水印 tql!
写在最后
本文所提供的方法仅用于个人学习用途,请勿用于违规盗链,二次出售等侵权行为!