#前提安装了node.js 并且设置环境变量 https://blog.csdn.net/bestyellow/article/details/119820509
import subprocess
from functools import partial
subprocess.Popen = partial(subprocess.Popen, encoding='utf-8')
import execjs
#如果funcs_name是js代码里面的函数名字 var代表函数里面的参数名称可以多个 好几个参数可以添加多个var,对应上就行
#这一种直接标签:funcs,name,python,js,jj,var,execjs From: https://www.cnblogs.com/Lhptest/p/18246152
def read_js(js_data, funcs_name, var=None, var2=None):
# jj = execjs.compile(js_data, cwd=r"J:\抖音爬虫逆向项目\node_modules")
jj = execjs.compile(js_data)
# call() 运行代码中的xxx函数. 后续的参数是xxx的参数
res = jj.call(funcs_name, var, var2)
return res
#通常都是自己想将js逆向文件写入一个js文件里面,到时候要的时候调用同过读取文件内容进行数据的转换调用导出
def read_jsfile(js_file, funcs_name, var=None, var2=None):
with open(js_file, 'r') as f:
js_code2 = f.read()
# jj = execjs.compile(js_code2, cwd=r"J:\抖音爬虫逆向项目\node_modules")
jj = execjs.compile(js_code2)
# call() 运行代码中的xxx函数. 后续的参数是xxx的参数
res = jj.call(funcs_name, var, var2)
return res