网站制作注意事项哪个大学的网站做的最好看
网站制作注意事项,哪个大学的网站做的最好看,ios开发教程,产品报价网PyExecJS简介
pyexecjs是一个python的库#xff0c;用于python环境中调用执行javascript代码。对于爬虫逆向来说#xff0c;这个库是非常合适的。
前期准备
我们需要提前去下载安装node.js
node.js官网下载地址#xff1a;Node.js — 下载 Node.js
# 验证 Node.js 版本…PyExecJS简介pyexecjs是一个python的库用于python环境中调用执行javascript代码。对于爬虫逆向来说这个库是非常合适的。前期准备我们需要提前去下载安装node.jsnode.js官网下载地址Node.js — 下载 Node.js®# 验证 Node.js 版本 node -v # 验证 npm 版本 npm -v库的安装pip install pyexecjs2基本使用import execjs js_code function add_number(num_1, num_2) { return num_1 num_2; } # 执行js代码之前先确定是否是v8环境 print(execjs.get()) # 编译js代码 run_js execjs.compile(js_code) 执行js代码有两种方式: call eval # 方式1call result run_js.call(add_number, 1, 2) print(result) # 方式2eval result run_js.eval(add_number(3, 4)) print(result)运行结果ExternalRuntime(Node.js (V8)) 3 7读取js文件并执行python文件中的内容import execjs # index.js是js文件名字 with open(index.js, r, encodingutf-8) as f: js_code f.read() run_code execjs.compile(js_code) print(run_js.call(run_add_func, 1, 2))javascript文件中的内容function run_add_func(num_1, num_2) { return num_1 num_2; }运行结果3在python中执行js的异步程序在python程序中是无法直接获取JavaScript中的异步函数返回值的需要使用subprocess完成异步函数的返回至获取。subprocess是python环境中执行操作系统级别的命令的模块如ls、pwd、ifconfig等操作系统有关的命令。subprocess创建子进程来执行相关的命令并连接他们的输入、输出和错误管道获取并返回状态。实例python文件中的代码import subprocess capture_output: 通过capture_output为True来捕获控制台输出内容默认为False text: 指定是否将输出结果以文本形式返回 result subprocess.run([node, run_async_func.js], capture_outputTrue, textTrue, encodingutf-8) print(result) # 返回对象 print(result.stdout.strip()) # 返回结果JavaScript文件中的代码function getAsyncData() { return new Promise(function (resolve, reject) { resolve(异步数据测试...); }); } // js调用异步函数 getAsyncData().then(res console.log(res));