python - 如何从 Python 字符串编辑 HTML 网站信息
问题描述
我将向您介绍我目前的情况,然后我将详细介绍。
目前我有一个 Python 脚本,它调用一个检索 JSON 的 API。在 python 脚本中,我已经格式化了 json 字符串,这意味着我有包含字符串的变量。
其次,我有一个包含 CSS 和 JS 等的 HTML 网站。我已经放下了一些 div 和 hr 来设计布局。
目标:一旦我打开 HTML 网站,它会自动执行 python 脚本并填写我想要放入数据的区域。
我的 Python 脚本向 API 发送了一个请求,该 API给了我一个 JSON 返回,我特别想要 JSONObject“rocket”中的 Value“rocket type”:
import requests
url = 'https://api.spacexdata.com/v2/launches/latest'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
response = requests.get(url,headers).json()
print("----------------------")
print(response["rocket"]["rocket_type"]) #This is what I meant above with JSONObjects etc...
为了让您了解 JSON 字符串的外观:
{
"flight_number": 66,
"mission_name": "Iridium NEXT Mission 7",
"launch_year": "2018",
"launch_date_unix": 1532518766,
"launch_date_utc": "2018-07-25T11:39:26.000Z",
"launch_date_local": "2018-07-25T04:39:26-07:00",
"rocket": { <---- Remember this? My python script wanted to jump into this object via ["rocket"]
"rocket_id": "falcon9",
"rocket_name": "Falcon 9",
"rocket_type": "FT", <---- Remember this? My python script wanted exactly this value via ["rocket_type"]
"first_stage": {
"cores": [
{
"core_serial": "B1048",
"flight": 1,
"block": 5,
"reused": false,
"land_success": true,
"landing_type": "ASDS",
"landing_vehicle": "JRTI"
}
....
我的 HTML 网站很无聊,只有 Divs 和其他标签,所以没有必要在这里完全添加。但是给你一个我想要存档的例子:
例如,这是一个带有段落标签的 div。我想告诉 HTML 编辑
标记到我的 python 脚本中的响应变量(rocket_type,还记得吗?)。
<div class ="boringDiv"><p> EDIT ME TO THE STRING OF A PYTHON VARIABLE! </p></div>
所以现在我们需要将“EDIT ME TO THE STRING OF A PYTHON VARIABLE”替换为包含值“FT”的python变量“response”的值。
我不知道从哪里开始(这就是我要问的原因),但我会从下达执行命令开始: 1. Python;2. HTML....
解决方案
您可以使用名为 jinja 的工具以非常干净的方式填充 HTML。它看起来像这样
<div class ="boringDiv"><p>{{ rocket_type }}</p></div>
推荐阅读
- python - Creating a list of random numbers without duplicates in python
- logic - 时钟“数据触发器”(DFF)实现
- metadata - Not be able to console log Auth0 user_metadata. I created a custom rule I also see the data in postman.What am I doing wrong
- python - XGBoost feature_importances_ parameter returns nan
- javascript - 如何使用反向浮动和溢出呈现内联列表
- c# - Botframework:如何使用机器人处理长时间运行的任务?
- arrays - 更改初始数组值 Swift
- python - 'invalid literal for int() with base 10:' 使用 Django REST 检索记录时出错
- css - 与 sass 子选择器等效的 bs-css 子选择器是什么?
- c++ - QTableView:模型中的 endMoveRows 重置水平标题大小