Python使用pyexecjs代码案例解析

针对现在大部分的网站都是使用js加密,js加载的,并不能直接抓取出来,这时候就不得不适用一些三方类库来执行js语句

execjs,一个比较好用且容易上手的类库(支持py2,与py3),支持 JS runtime。

官网: https://pypi.org/project/PyExecJS/

# pip install pyexecjs

# 一node.js为引擎

# 检测运行环境

importexecjs

print(execjs.get().name)

最简单的代码案例 使用eval执行js代码

importexecjs

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内容呢 我们可以先保存到文件中,然后读取编译,在执行"""

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200714A0FJS800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券