diff --git a/py/qkjs/test_py_mini_racer.py b/py/qkjs/test_py_mini_racer.py new file mode 100644 index 0000000000000000000000000000000000000000..97c4e07881493f3de3bf0025e896bc4b3d4543e4 --- /dev/null +++ b/py/qkjs/test_py_mini_racer.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# File : test_py_mini_racer.py +# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------ +# Date : 2022/10/12 + diff --git "a/python\346\234\200\345\274\272js\345\274\225\346\223\216.md" "b/python\346\234\200\345\274\272js\345\274\225\346\223\216.md" new file mode 100644 index 0000000000000000000000000000000000000000..4e083206393b6f4ce3378caf106b9ca9391fd997 --- /dev/null +++ "b/python\346\234\200\345\274\272js\345\274\225\346\223\216.md" @@ -0,0 +1,27 @@ +#### 人生苦短,我用python +#### 不想换行,js最强 +###### 道长踩过的坑,推荐一波python的js引擎 + +#### 从弱到强推荐,大家仔细看 + +| 模块 | 性能 | es6| python交互|相关文档|架构兼容性|个人评价| +| ---- | ---- |---- |---- |---- |---- |---- | +| [pyv8](https://github.com/emmetio/pyv8-binaries)|较差|❌|✅|少|差|年代久远,可以放弃了 +| [PyExecJS](https://github.com/doloopwhile/PyExecJS)|差|❌ |❌|多|好|年代久远,应用挺多,勉强能用 +| [v8py](https://github.com/tbodt/v8py)|好|✅|✅|少|差|文档少,架构兼容性差,不太会用 +| [pyjsparser](https://github.com/PiotrDabkowski/pyjsparser)|一般|❌|❌|少|差|几乎不用 +| [dukpy](https://github.com/amol-/dukpy)|好|部分支持|不确定|几乎没有|差|没见人用过 +| [py_mini_racer](https://github.com/sqreen/PyMiniRacer)|一般|✅|❌|少|差|不支持js交互,文档少,架构兼容性差,不怎么会用 +| [js2py](https://github.com/PiotrDabkowski/Js2Py) | 一般 |部分支持,实际应用鸡肋|✅|还行|好|python交互好,没得选了 +| [quickjs](https://github.com/PetterS/quickjs) | 好 |完美支持|部分支持|几乎没有|好|有测试案例代码,看完就会用,issue有人提了交互的更多代码 + + +### 本项目的最终选择 + +quickjs + js2py + +#### 使用说明 +quickjs负责读取js文件源的模块,速度非常快 +js2py负责python执行js的源逻辑,交互python注入的任意类型变量 +#### 研究方向 +quickjs如何交互python非基础类型数据,看quickjs的pr和issue有人提出过,但是作者没有合并以及修改支持,需要自己动手了 diff --git a/readme.md b/readme.md index 04af28b6398ca6b53a147435cbf99c5c57f9816b..1124d894f9ea5e1f8ca1c391aacb64458907fb7d 100644 --- a/readme.md +++ b/readme.md @@ -39,6 +39,7 @@ +[JS引擎的选择](./python最强js引擎.md) [搭建教程](./安卓本地搭建说明.md) | [install_help](./安卓本地搭建说明.md) |[goorm](./道长乱说.md) [dr项目QQ官群](https://qm.qq.com/cgi-bin/qm/qr?k=H2KwcXrMdiR5M2blHR5gjZzPfN_S3N_C&jump_from=webapi) [参考T4](https://github.com/sec-an/TV_Spider/blob/main/spider/sp360.py)