Python 爬虫进阶必备 | 某电影站视频采集加密参数逻辑分析
咸鱼学Python
共 940字,需浏览 2分钟
·
2021-08-20 07:21
点击上方“咸鱼学Python”,选择“加为星标”
第一时间关注Python技术干货!
今日网站
aHR0cHM6Ly96MS5tMTkwNy5jbi8/ang9JUU1JTkzJTg4JUU1JTg4JUE5JUMyJUI3JUU2JUIzJUEyJUU3JTg5JUI5JUU0JUI4JThFJUU1JUFGJTg2JUU1JUFFJUE0
加密定位与分析
分析的网站是一个电影播放站,有良心的是竟然没有多少广告,
这个请求返回的内容里包含了m3u8
的链接,m3u8
大家应该都知道是啥吧,我们获取到之后就可以解析出视频了。
所以我们需要的就是构造出这个请求链接,以及下面的几个参数
直接通过Initiator
调用栈分析
最后一个请求点击进去,可以看到
这不就是要分析的请求接口嘛
我们要分析的是z
、s1ig
、g
如上图基本就囊括了全部的参数逻辑
接下来一个一个看下
第一个是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(0, 10)
p = Et()(p)
看了下都和时间戳有关,取完时间戳之后经过了Et
方法然后得出了p
的值
打上断点追进去,可以看到如下逻辑
先是Et
方法
这里的d
、f
、p
都是独立的方法,扣一下就可以了,得出结果之后又经过了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
的结果并用,
拼接
现在所有的逻辑都分析清楚了,直接开整
先是z
的逻辑
其实不扣也可以,就是个md5
然后直接在Python
里面开搞,请求就完事了
对了,看完记得一键四连,这个对我真的很重要。
评论