问题描述
最近在爬虫时,遇到十分复杂的 js 加密,想着用exeJs来运行,但是在执行的时候,提示换行问题,不能成功解析。
解决方案
使用 nodeJs 运行 js, 来获取我们需要的参数
1、安装 NodeJs
2、通过python调用系统命令传参
Python调用nodeJs
#导入 os 模块
import os
#使用popen执行系统命令,并传参
_cmd = os.popen(r'node demo.js "参数1"')
#读取命令执行后的输出
_res = _cmd.read()
nodeJs接收参数
//process.argv中包含argv数组,其中我们传的参数从第3下标开始
var token = process.argv[2]
var pwd_str = process.argv[3].replace(/\\n/g,'\n')
var part = process.argv[4].replace(/\\n/g,'\n')
var pwd = process.argv[5]
...
console.log(result)
console.log输出的结果就是我们想要的,注意输出后会有一个空格,注意用 _res = _res[0:-1]去掉。
OK 成功执行!