找到入口之后,在主js文件中,模拟入口函数,生成需要的参数:
function test(n){
let M = window.loader(12210)
// console.log(M._A())
let s = M.A()
// let n = '{"cityCode":"","salaryId":"403","experienceId":"","pageNum":1,"limit":15}'
return [M.mA(n,{
iv:s
}).replace(///g, "").replace(/+/g, "-").replace(/=/g, "~"),s]// mA函数传入参数n,s
}
在主python文件中,调用js文件,生成需要的参数,加入到param中,发送请求,获得数据;
1、导入execjs模块:import execjs(注意数据传输的格式:import json,n_str = json.dumps(n))
2、调用主js函数文件:js_compile = execjs.compile(open("主js函数",encoding='utf-8').read())
3、调用主js函数文件中的函数,生成参数:b = js_compile.call("test",n_str)(在该案例中,b是数组)
4、将参数(b值)加入到param参数列表中,发送请求,获得数据;