背景介绍
Python的requests库是Python中常用的网络请求库,可以用于发送HTTP请求并获取动态数据。本项目要求开发者独立运行,无需依赖外部服务。任务的核心是通过构造正确的URL格式和API密钥,使用Python发送HTTP请求获取天气数据,并将结果以动态展示的HTML页面形式呈现。
思路分析
- 请求结构
输入的URL需包含特定的API路径和密钥。例如,使用`https://api.weatherapi.com/v2/data.json?key=your_api_key`。请求类型为GET,参数为`key`,并以JSON格式返回。 -
数据解析
从返回的JSON数据中提取天气信息,包括温度、湿度等字段。JSON解析后,需要将数据动态展示到HTML页面中,确保用户看到原始数据。 -
HTML输出
使用<div>标签动态填充数据,例如显示温度和湿度,增强页面交互性。HTML模板的结构清晰,易于阅读和维护。
代码实现
import requests
# 设置API密钥和请求参数
url = "https://api.weatherapi.com/v2/data.json?key=your_api_key"
response = requests.get(url)
# 处理响应数据
if response.status_code == 200:
data = response.json()
# 解析天气数据
weather_data = {
"temperature": f"{data['data']['main']['temp']}°C",
"humidity": f"{data['data']['main']['humidity']}%",
"description": data['data']['main']['description']
}
# 将数据动态展示到HTML页面
html_output = f"""
<html>
<head>
<title>Weather</title>
</head>
<body>
<h1>Current Weather</h1>
<div>
<p>Temperature: {weather_data['temperature']}</p>
<p>Humidity: {weather_data['humidity']}</p>
<p>Description: {weather_data['description']}</p>
</div>
</body>
</html>
"""
print(html_output)
else:
print("Error occurred fetching weather data.")
总结
本项目通过构造正确的URL和API密钥,使用Python的requests库实现网络请求,并将结果动态展示为HTML页面。整个过程需要确保URL格式正确,API密钥无误,并且数据解析和HTML输出的结构清晰。项目要求开发人员独立运行,确保代码的可运行性和可维护性。通过这种方式,可以在1~2小时内完成实现。