网页视频抓取脚本(挑选你感兴趣的分类--js )
优采云 发布时间: 2022-03-07 14:02网页视频抓取脚本(挑选你感兴趣的分类--js
)
选择您感兴趣的类别
根据首页地址获取详情页超链接的跳转地址
找到对应的加密视频播放地址数据
此数据为静态网页数据,js代码解码
找到对应的解析代码
先找到视频的播放地址
找到解析视频地址的加密js文件
点击播放会触发文件
大致可以看出这是base64加密的数据
在对应的js文件中搜索关键字
找到js的加密方式
js函数部分函数的使用
# eplace()方法用于在字符串中用一些字符替换另一些字符 # parseInt 数据转换成对应的整型 # base64.atob 对base64编码过的字符串进行解码 # substring 方法可在字符串中抽取从 start 下标开始的指定数目的字符
将 js 代码转换为 Python 代码
import base64 def decode(data): def getHex(a): return { 'str': a[4:], 'hex': ''.join(list(a[:4])[::-1]), } def getDec(a): b = str(int(a, 16)) return { 'pre': list(b[:2]), 'tail': list(b[2:]), } def substr(a, b): c = a[0: int(b[0])] d = a[int(b[0]): int(b[0]) + int(b[1])] return c + a[int(b[0]):].replace(d, "") def getPos(a, b): b[0] = len(a) - int(b[0]) - int(b[1]) return b b = getHex(data) c = getDec(b['hex']) d = substr(b['str'], c['pre']) return base64.b64decode(substr(d, getPos(d, c['tail']))) print(decode("e121Ly9tBrI84RdnZpZGVvMTAubWVpdHVkYXRhLmNvbS82MGJjZDcwNTE3NGZieXBueG5udnRwMTA5N19IMjY0XzFfNWY3YThmM2U0MTEwNy5tc2JVjAu3EDQ="))
获取最终视频播放地址