常规爬虫使用python编写,有些逻辑可以直接复用js的逻辑,所以使用python执行js可以直接省去很多将js移植成python的功夫。

安装node

首先安装node,不会百度

方案一:python安装pyexecjs

使用pip install pyexecjs安装pyexecjs模块,这个模块目前已经停止维护了,详细原因看https://gist.github.com/doloopwhile/8c6ec7dd4703e8a44e559411cb2ea221

先新建一个add.js的文件:

function add(p1, p2) {
    return p1+p2;
}

接着新建一个main.py:

import execjs
with open('add.js', 'r') as f:
    js_file = f.read()  # 打开并读取js文件
    f.close()
js = execjs.compile(js_file)  # 编译js文件
res = js.call("add", 1, 2)  # 调用的js函数名为add,参数分别为1和2
print("js的调用结果为:", res)

观察结果:

js的调用结果为: 3

可以看到成功调用js文件。

方案二:PythonMonkey

https://github.com/Distributive-Network/PythonMonkey

方案三:js2py

https://github.com/PiotrDabkowski/Js2Py

方案四:直接调用node

直接使用命令行调用node

方案五:将node封装为服务

将node封装为服务,通过请求执行处理并响应。

根据实际情况具体选择方案,这里只做陈列。

最后修改:2024 年 03 月 13 日
如果觉得我的文章对你有用,请随意赞赏