天天看点

记一次破解blob加密视频网站的过程

现在很多主流的视频网站几乎都是用到了blob的加密(其实也不算是加密),效果是隐藏了视频源的地址,其背后的本质还是通过一段执行一段js拿到视频的切片文件,然后进行拼接播放。就像下面这样的

记一次破解blob加密视频网站的过程

其实对于普通情况来说,服务器会返回m3u8文件,这个文件相当于指引你找到各个分片文件的目录,然通过这个文件,浏览器可以不断的请求到下一个切片文件。所以重要是要获取到m3u8文件,然后爬取其各个ts分片文件,最后自己进行拼接就行了。这里推荐使用ffmpeg工具拼接,实乃神器。

但是有的网站会防止爬虫,所以会搞个key文件,这样一来缺少key文件的情况下拼接是不可能成功的,之前不知道的时候,用什么格式工厂,什么转换大师,完全没用,根本拼不上,就是报错,之后才发现还有这个猫腻。所以这种情况下需要同时拿到m3u8文件与其对应的key文件才行,当然,有时候key文件的url地址就放在m3u8文件里面的,所以也可以直接通过网络上的key文件来拼接,就不必下载到本地。

就像下面这样:

#EXT-X-KEY:METHOD=AES-128,URI="https://xxx.com/keys/Xb2SoIWezfEzO5io1CKhUWEvVeR0Yb1bMSVGUFx3l4rhA4SxWDKruiYkgLpOgqtn.key"
           

 这次爬取的网站就用到了上面这些防爬措施。另外再加上js混淆,ip限制,refer等等,算是比较难搞的一个视频网站了。