背景介绍
本项目旨在实现一个本地环境中独立运行的天气数据获取系统,通过调用指定API(如`https://api.example.com/weather`)获取指定城市当前天气信息,并以用户友好的方式返回结果。脚本需具备输入城市名称、调用API、解析响应数据及输出结果的功能,确保运行环境隔离,支持本地环境直接部署。
思路分析
本项目的核心功能包括:
1. 接收用户输入的城市名称
2. 调用网络请求函数获取天气数据
3. 解析返回的JSON数据并格式化输出
4. 确保代码的可读性与易维护性
关键知识点:
– 网络请求逻辑(GET/POST请求)
– 数据解析与格式化(JSON处理)
– 环境隔离(本地运行环境)
代码实现
import requests
def get_weather_info(city_name):
url = f"https://api.example.com/weather/{city_name}"
headers = {
"User-Agent": "Mozilla/5.0",
"Accept": "application/json"
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status() # 检查请求成功
# 解析并返回数据
data = response.json()
weather_info = {
"天气": data.get("天气"),
"温度": data.get("温度")
}
print(f"{'天气': {weather_info['天气']}, 温度: {weather_info['温度']}}")
return weather_info
except requests.exceptions.RequestException as e:
print("请求失败:", str(e))
return {"天气": "未知", "温度": None}
# 示例使用
city = "北京"
result = get_weather_info(city)
总结
本项目实现了网络请求和数据解析的核心功能,通过本地环境实现独立运行,确保了代码的可运行性和安全性。代码简洁明了,注释清晰,便于理解和维护。该系统支持输入城市名称、调用API、解析并输出天气信息等核心功能,符合本地环境部署的要求。