python多线程爬取加密后ts文件,解密后合成mp4视频

python多线程爬取加密后ts文件,解密后合成mp4视频

声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关

前言

    续我前几天发布的上篇博客:,说道爬视频有三种级别,上篇的例子属于中等级别,那么接下来的这篇是困难级别的。 其实,这里再修正一下,爬视频应该不止是3种级别,还有很多更加困难的网站。 所以,学无止境,尽管路途遥远,也要勇往直前~

废话不多说,下面直接开始吧,本次爬取的网站是

一、分析页面

  1. 用requests来请求播放页和js文件都会得不到网页的源代码,而是一个需要执行的JavaScript代码,因此,本文在拿到所有ts文件之前的操作均使用selenium来获取,比如获取播放页的网页源代码、获取js文件的响应内容。
  2. ts文件是经过加密处理的,下载下来的ts需要对其解密才能播放,这正是本文的重点,随机打开一个播放页,看到在第二个m3u8文件中多出了一行说明: 可以看到METHOD=AES-128说明是用AES-128的加密方法,其秘钥的链接为后面URI,请求这个链接得到加密秘钥:

二、视频解密

根据给出的秘钥即可以完成视频解密的操作,基本步骤是:将请求ts文件得到的响应内容进行解密之后,再做保存操作,下面以第一集视频解密为例,具体代码如下:


写在最后

经验分享 程序员 微信小程序 职场和发展