Python调用Js脚本进行加密处理 ------JaysonBlog

Jayson
2022-03-03 / / 102 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年10月20日,已超过42天没有更新,若内容或图片失效,请留言反馈。

前言

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')
                    #转换
0