想要获取JS运行中间的数据,但是JS加密怎么处理
来源:1-1 从零开始 系统入门python爬虫工程师-课程导学

慕哥9471875
2022-03-24
在爬取数据时,用get请求可以请求到数据,但是数据的解析是网站通过js实现的,现在想请求js过程中的数据
想到的方法是:
(1)请求网站数据(加密版)
(2)把网站解密数据的js拷贝下来,用import execjs执行,将加密版数据作为输入解密。
但是遇到的问题是,js也是加密的,如下图:
python程序如下:
import execjs
data = "AADWAAAAPnEvYhIPjwYUZhYB2AiOF5zHAAAAAEhyL2IGI48GR3IWAdQFThacxwAAAACNdi9i6lePBiCTFgFuBswVnMcAAAAAOHgvYnVtjwbgnhYBBwYKFJzHAAAAAON5L2LygY8GEawWAQcGKBScxwAAAADFei9imoyPBguzFgGgBY4XnMcAAAAAoXsvYheXjwbguRYB1AW4FZzHAAAAAJh8L2Lsoo8GbcEWAQcGBBWcxwAAAACIfS9iZa2PBjLKFgGgBRATnMcAAAAAoH4vYuq4jwYx1RYBOwZeEJzHAAAAAJB"
trantab = {key: key for key in range(1, 256)} # 制作翻译表
js_code = """
上图所示,中间太长省略了
"""
trans_code = js_code.translate(trantab) # 处理字符串中 /x 的情况
print(trans_code)
js_compile = execjs.compile(
trans_code
)
print(js_compile.call('analyseAisTrack', data))
运行后结果如下:
js代码是从
写回答
1回答
-
bobby
2022-03-25
这里只是混淆了函数名和参数名, 可以换一个其他的库执行一下试试
00
相似问题