【发布时间】: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 - 即。使用
brython或transcrypt或rapydscript。但并非所有代码都可以转换为 JavaScript(某些模块需要访问 C/C++ 库),您的想法将行不通。您应该在服务器(即 Flask)上运行 Python 并仅以HTML或JSON发送结果。并且浏览器应该使用JavaScript从服务器获取数据并更新浏览器中的 HTML。如果有新数据,JavaScript 将不得不定期询问服务器 - 如果浏览器不要求,服务器将无法发送它。
标签: javascript python selenium-chromedriver