想要获取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

这里只是混淆了函数名和参数名, 可以换一个其他的库执行一下试试

0
0

Python爬虫工程师实战 大数据时代必备

慕课网严选精品教程,高质量内容+服务!

2377 学习 · 1158 问题

查看课程