Python 爬虫进阶必备 | 某电影站视频采集遇到的加密参数逻辑分析
        【摘要】 今日网站aHR0cHM6Ly96MS5tMTkwNy5jbi8/ang9JUU1JTkzJTg4JUU1JTg4JUE5JUMyJUI3JUU2JUIzJUEyJUU3JTg5JUI5JUU0JUI4JThFJUU1JUFGJTg2JUU1JUFFJUE0加密定位与分析分析的网站是一个电影播放站,有良心的是竟然没有多少广告,这个请求返回的内容里包含了m3u8的链接,m3u8大家应该都知道是啥...
    
    
    
    今日网站
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里面开搞,请求就完事了
 
            【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
                cloudbbs@huaweicloud.com
                
            
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)