javascript - 如何在 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)
解决方案
只是在你的 react 应用程序源中放置一个 python 脚本并不会神奇地将它变成一个 API 入口点。该脚本必须由 python 进程执行,并且您必须有一个 HTTP 服务器将此进程映射到一个 url,将请求传递给进程并转发响应。实际上是简单的、基本的 HTTP 后端编程内容。
为 python 后端应用程序提供服务的首选方式是wsgi
协议,主要 HTTP 服务器(apache、nginx 等)以一种或另一种方式支持该协议。您可以将脚本直接写入 wsgi 规范,或使用现有的 wgsi 框架(flask
想到像您这样的简单、轻量级的应用程序)。
推荐阅读
- php - 将时间分配到 2 小时的间隔和偏移量
- java - 在 java 中使用 Apache POI 使用密码保护文档
- r - 删除冲销交易
- database - 将数据从 Oracle 同步到 PostgreSQL
- javascript - javascript 类 id 计数对象创建
- python - scrapy response.xpath 无法提取表格字段的文本,但 selenium find_find_elements_by_xpath() 可以
- react-native - onUserLocationChange() 如何在反应原生地图中影响 onRegionChange()?
- javascript - 如何将包含 HTML 的 JSON 解析为 HTML
- nginx - 到 Zeit Now 部署的 NGINX 代理
- sql - 如何在 Oracle 中将毫秒转换为时间(hh:mm:ss)