前言
python爬虫的时候,可能需要通过加密数据来进行发包,这里我将会分享一个好用的模块来进行调用JS脚本进行数据的加密处理
execjs模块
调用js脚本函数
这里我会调用一个叫做‘execjs’模块。
安装方法:
pip install execjs
安装完后,我举个例子,讲解一下:
import execjs # 导入execjs模块
with open('Js.js') as f: # 设置文件对象给f
js_data = f.read() # 读取Js.js 到js_data这个对象
dic_key = key # 定义需要加密的对象
# print(dic_key)
keys_JS = execjs.compile(js_data).call('test', password, dic_key)
# 将加密的参数传到keys_JS
# compile 填写自己需要调用的Js脚本
# call 参数填写自己的调用的函数 (第一个:函数名称,第二个:参数,第三个:参数)
print(keys_JS)
# 显示数据
就是怎么简单
js2py模块
调用js脚本函数
这里我会调用一个叫做‘js2py’模块。
安装方法:
pip install js2py
安装完后,我举个例子,讲解一下:
import js2py # 导入execjs模块
with open('Js.js',encoding='utf-8') as f: # 设置文件对象给f
js_data = f.read() # 读取Js.js 到js_data这个对象
context = js2py.EvalJs() # 定义对象
context.execute(js_data) # 解读js脚本
result = context.aes(text, key) # 调用js里面的函数,返回结果
# 对象 调用函数 参数1,参数2
js代码翻译
解读js脚本,将js脚本翻译成python文件
# 翻译js文件为py文件
print(js2py.translate_js("console.log('hello world')"))
# 脚本内容
js2py.translate_file('test.js', 'test.py')
#转换