前言
爬虫的开发过程中,往往需要对JS进行模拟,简单或者通用的还可以在Python中模拟或者找到对应的第三方库,但是复杂的就可能不好实现了。所以Python执行JS语句就是爬虫开发过程中的一个痛点,而能执行JS语句的第三方库常见的有selenium、execjs、PyV8
安装execjs
pip install PyExecJS方法
eval():
输入参数:source(JS语句)、cwd(路径)
返回值:result(语句执行结果)
compile():
输入参数:source(JS语句)、cwd(路径)
返回值:编译后的对象
call():
输入参数:name(要调用的JS方法名称)、*args(方法所需要的参数,可多个)
返回值:result(运行方法的返回结果)
模板
执行JS语句
import execjs
result=execjs.eval("1+1")
print(result)调用JS方法
import execjs
js=execjs.compile('''function sum(i,j){sum=i+j;return sum}''')
result=js.call('sum',1,2)
print(result)