背景介绍
本项目旨在实现一个简易的网络请求API,根据用户输入的城市名获取当前天气信息。通过使用Python的requests库,可以实现对开放气象API的本地调用,重点在于数据处理和格式化输出。该实现支持本地运行,无需依赖外部API,同时注重代码规范和可读性。
思路分析
- 请求构建:使用
requests.get()发送HTTP GET 请求到开放气象API的接口 - 数据解析:解析响应的JSON数据,提取温度和天气现象
- 格式化输出:根据示例输出,格式化显示天气信息
- 文件读写示例:可选,用于存储天气数据(未使用,但可作为学习点)
代码实现
import requests
def get_weather_info(city):
# 构造请求URL
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid=your_api_key"
# 发起HTTP GET 请求
response = requests.get(url)
# 解析响应数据
data = response.json()
# 格式化输出天气信息
weather_result = {
"temperature": f"{data['main']['temp']}°C",
"weather": data['main']['weather'][0]['description']
}
# 输出结果
print(f"当前天气:{weather_result['weather']}, 温度:{weather_result['temperature']}")
# 示例调用
get_weather_info("北京")
get_weather_info("上海")
总结
该实现通过Python的requests库完成了对开放气象API的本地调用,成功获取并格式化了天气信息输出。项目实现过程涉及网络请求、JSON解析、数据格式化等核心功能,同时注重代码的可读性和可运行性。学习价值在于理解网络请求的原理和数据处理的逻辑,难度适中,1~3天即可完成。