是这样的,今天朋友问我,之前购买的视频可不可以给她看下,然后就开始了我对爬虫的研究
连接是一个多层级的子域名,大家可以简单的看下结构:
https://********.**.*******.***/*/******/*****/************?product_id=********
正题开始
第一步:找URL
由于是长视频,所以网页会不断请求视频文件,直接找出现最多的就好了
从请求头这里 找一个参数,选中它,然后按CTRL+F 对所有的包进行搜索
虽然!!我们要先看最不同的,但是这个尾缀是jpg 这一定不是我们需要的东西,所以,看2.0.0的响应
那么问题来了!!
遇到加密的URL
最像我们需要的东西的 就是“video_urls”
遇到问题不要慌,先搜搜看有没有什么办法呢
解密方法
很简单的一个base64加密,神奇的互联网,告诉了我们其中的秘密
@#$%这四个特殊符号分别对应 1234
s = ('W$siZGVmaW5pdGlvbl9uYW@lIjoiXHU5YWQ%XHU#ZTA@IiwiZGVmaW5pdGlvbl9wIjoiNzIwUCIsInVybCI6Imh0dHBzOlwvXC9wcmktY#RuLXR'
'%LnhpYW9la#5vdy5jb#@cL#FwcEVKbWxhakc$ODM5NFwvcHJpdmF0ZV9pbmRleFwvMTY#MDcwNzk#N$JvQjRVYy5tM$U%P$NpZ#%9Mjc'
'#NDkxNTE5YTM0MzQwMGRmNDNlZGY#OTUxMDhhNDkmdD0#NTk#NDMzMiIsImlzX$N@cHBvcnQiOnRydWUsImV'
'%dCI6eyJob$N0IjoiaHR0cHM6XC9cL#J0dC@#b#QueGlhb#Vrbm9$LmNvbSIsInBhdGgiOiI@MjlkOGQ#MHZvZHRyYW5zYmoxMjUyNTI0MTI'
'#XC8#NzBiYjg%ZTM%NzcwMjI5NjcyMDA%MjYxM@wvZHJtIiwicGFyYW0iOiJzaWduPTIzZjJhM#FkNTFlZDA0NWJiYTZkM#RmMGJmN#E'
'@ZjcyJnQ9NjU5NmViZjImdXM9b#RhdU@Xc@F5eSJ9fV0=__ba')
# 将符号替换回去先…………
s = s.replace('@', '1').replace('#', '2').replace('$', '3').replace('%', '4').replace('__ba', '')
# 然后解密 切片
json_ = base64.b64decode(s.encode('utf-8'))[1:-1]
# json 解包出来就好了
response = json.loads(json_)
print(response)
这里就有一个尾缀为 m3u8 的文件了,这个就是最常见的浏览器视频文件