【问题标题】:How can I run my pure python (.py) file from javascript file如何从 javascript 文件运行我的纯 python (.py) 文件
【发布时间】:2021-01-03 09:09:51
【问题描述】:

我正在创建一个网站,该网站从网站中抓取数据并在我的网站中显示该数据。 我使用 selenium 进行抓取,这纯粹是用 python 编写的,它将抓取的数据转换为 JSON。我使用 Javascript 从 JSON 中获取数据并以 HTML 格式显示。

现在我想问两件事。

首先,我如何通过网络托管在网络浏览器中运行该 python 文件。

其次,我想要的是我的 Javascript 代码每天都运行该 python 文件,这样每当网站更新时,更新的数据也会显示在我的网站中。

谁能指导我如何从 Javascript 运行 Python 文件。我还查看了 Brython,但它没有运行我的 python(.py)。这是我使用 Brython 的方式

这些是head中导入的js文件

<script src="/brython.js"></script>
<script src="/brython_stdlib.js></script>

在body标签中我引用了我的python文件

<body onload="brython()">
     <script type="text/python" src="webScrapper.py">
</body>

但是什么也没发生。

希望我的问题很清楚。提前感谢您的集思广益

【问题讨论】:

  • 嗯,答案是你不能直接在浏览器上。 stackoverflow.com/questions/13175510/…
  • 您不能直接在网络浏览器中运行 Python - 您必须将其转换为 JavaScript - 即。使用brythontranscryptrapydscript。但并非所有代码都可以转换为 JavaScript(某些模块需要访问 C/C++ 库),您的想法将行不通。您应该在服务器(即 Flask)上运行 Python 并仅以HTMLJSON 发送结果。并且浏览器应该使用JavaScript 从服务器获取数据并更新浏览器中的 HTML。如果有新数据,JavaScript 将不得不定期询问服务器 - 如果浏览器不要求,服务器将无法发送它。

标签: javascript python selenium-chromedriver


【解决方案1】:

好吧,我认为您不能使用 js 在网络浏览器上运行 python 脚本。但是您可以做的是从节点 js 服务器生成 python 作为子进程。我做过类似的事情。我从 nodejs 运行 ruby​​ 脚本。

您可以在此处找到代码。你只需要做一些小改动

https://github.com/thealpha93/spawn-child-process.git

【讨论】:

    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 2021-10-16
    • 2021-03-31
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多