首页 > 解决方案 > 如何在 React 应用程序中执行 Python 代码?

问题描述

我需要解析网页并在 React 组件中显示结果。由于 CORS,我无法从我的应用程序轻松访问该页面,而 python 只需几行即可。

正如我在多个类似的答案中所读到的,关键是向 python 代码发出 ajax 请求。

所以,我在做什么:

axios.post('../../assets/wordnik.py').then(res => console.log(res))

简单明了,尽管我收到以下错误: 在此处输入图像描述

那么,我该如何解决这个问题,究竟出了什么问题?

UPD。Python代码

from bs4 import BeautifulSoup
from urllib.request import urlopen

url = "https://www.wordnik.com/randoml"
f = urlopen(url)
soup = BeautifulSoup(f, "html.parser")
h1s = soup("h1")
h1 = h1s[0].getText().strip()
print(h1)

标签: javascriptpythonreactjsaxios

解决方案


只是在你的 react 应用程序源中放置一个 python 脚本并不会神奇地将它变成一个 API 入口点。该脚本必须由 python 进程执行,并且您必须有一个 HTTP 服务器将此进程映射到一个 url,将请求传递给进程并转发响应。实际上是简单的、基本的 HTTP 后端编程内容。

为 python 后端应用程序提供服务的首选方式是wsgi协议,主要 HTTP 服务器(apache、nginx 等)以一种或另一种方式支持该协议。您可以将脚本直接写入 wsgi 规范,或使用现有的 wgsi 框架(flask想到像您这样的简单、轻量级的应用程序)。


推荐阅读