本篇文章小编给大家分享一下Python使用pyexecjs代码案例解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
针对现在大部分的网站都是使用js加密,js加载的,并不能直接抓取出来,这时候就不得不适用一些三方类库来执行js语句
execjs,一个比较好用且容易上手的类库(支持py2,与py3),支持 JS runtime。
官网:https://pypi.org/project/PyExecJS/
# pip install pyexecjs
# 一node.js为引擎
# 检测运行环境
import execjs
print(execjs.get().name)
最简单的代码案例 使用eval执行js代码
import execjs
e = execjs.eval('a=new Array(1,2,3)')
print(e)
如何处理内容比较多的js呢
str1 = """
function test(data){
return data;
}
"""
# 先吧字符串编译成js代码
cx_js = execjs.compile(str1)
# 调用call方法去执行js代码
a = cx_js.call("test", "122") # 第一个为函数名,后面的为参数,多的就用逗号隔开
print(a)
"""如果是比较大的js内容呢 我们可以先保存到文件中,然后读取编译,在执行"""