Python 爬虫进阶必备 | 某电影站视频采集加密参数逻辑分析

咸鱼学Python

共 940字,需浏览 2分钟

 ·

2021-08-20 07:21

点击上方“咸鱼学Python”,选择“加为星标

第一时间关注Python技术干货!


今日网站

aHR0cHM6Ly96MS5tMTkwNy5jbi8/ang9JUU1JTkzJTg4JUU1JTg4JUE5JUMyJUI3JUU2JUIzJUEyJUU3JTg5JUI5JUU0JUI4JThFJUU1JUFGJTg2JUU1JUFFJUE0

加密定位与分析

分析的网站是一个电影播放站,有良心的是竟然没有多少广告,

64a4001d605711f69814daa895b45c21.webp

这个请求返回的内容里包含了m3u8的链接,m3u8大家应该都知道是啥吧,我们获取到之后就可以解析出视频了。

所以我们需要的就是构造出这个请求链接,以及下面的几个参数

96153b020b2e6b43fb654effd4f6e366.webp

直接通过Initiator调用栈分析

03412a47f90a499e189e309d8bdd63c0.webp

最后一个请求点击进去,可以看到

2eda3827fed52c007be6a39be491dec8.webp

这不就是要分析的请求接口嘛

我们要分析的是zs1igg

e1d6f428047e15264c48dbe3d95276e8.webp

如上图基本就囊括了全部的参数逻辑

接下来一个一个看下

第一个是z,上面一整串的逗号表达式

c = new Date
l = c.getTime()
u = 6e4 * c.getTimezoneOffset()
d = l + u + 36e5 * 8
m = new Date(d)
p = (p = m).getDate() + 9 + 9 ^ 10
p = (p = Et()(String(p))).substring(010)
p = Et()(p)

看了下都和时间戳有关,取完时间戳之后经过了Et方法然后得出了p的值

打上断点追进去,可以看到如下逻辑

先是Et方法

5099127e0fcb6917b440b28253cc3e88.webp513b143aeb6a2f65c20ca5269569c80d.webp

这里的dfp都是独立的方法,扣一下就可以了,得出结果之后又经过了m方法

以上方法的出结果之后取前 10 位,然后再传入Et方法得出最后z的值

s1ig的值是f

c = new Date
l = c.getTime()
u = 6e4 * c.getTimezoneOffset()
d = l + u + 36e5 * 8
m = new Date(d)
f = m.getDay() + 11397

这个完全就是时间戳的操作,之后的g的逻辑取是fe.getAll的结果并用,拼接

7076c2b62dc35331cd1ea648197d491b.webp

现在所有的逻辑都分析清楚了,直接开整

先是z的逻辑

7bffc84417f144e8b76035038669b2db.webp

其实不扣也可以,就是个md5

然后直接在Python里面开搞,请求就完事了

16fcfc72baa0f27e1689e7ea72987eeb.webp
4913bfe475c7c7370f3e0643543a7884.webp对了,看完记得一键四连,这个对我真的很重要。
浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报