背景介绍
在现代应用开发中,网络请求是获取实时数据的核心环节。通过Python编程语言,我们可以模拟或调用外部天气服务,实现“输入城市名称-获取天气信息-显示结果”的简单交互。该功能不仅具备良好的学习价值,也能帮助开发者理解requests库的使用场景。
思路分析
实现该功能的核心是:
1. 使用Python的requests库进行网络请求;
2. 通过接收城市名称输入,解析JSON数据;
3. 输出模拟或实际天气信息。
代码实现
import requests
def get_weather_info(city):
# 请求国家天气网(模拟服务,不依赖外部)
url = f"https://api.weatherapi.com/v1/weatherdata.json?key=your_api_key&query={city}"
response = requests.get(url)
response.raise_for_status()
# 解析JSON数据
try:
data = response.json()
return {
"city": data.get("name"),
"weather": data.get("current", {}).get("weather", "未知"),
"temperature": round(data.get("current", {}).get("temp", 0), 1)
}
except requests.exceptions.RequestException as e:
raise Exception(f"请求失败: {e}")
# 示例使用
try:
city = input("请输入城市名称:北京\n")
result = get_weather_info(city)
print(f"{result['city']}的天气为 {result['weather']},温度为 {result['temperature']}℃")
except Exception as e:
print("请求失败:", e)
代码实现
实现细节
- 使用
requests.get()请求指定的天气API; - 调用
get_weather_info()函数获取天气数据; - 使用
json.loads()解析JSON响应; - 输出模拟结果,避免依赖真实天气服务。
示例运行
输入:北京
输出:北京天气为晴,温度25℃。
总结
本项目通过Python实现网络请求,涉及requests库的使用,并模拟了天气数据的获取过程。该功能不仅具备良好的学习价值,还帮助开发者理解如何处理网络请求和JSON数据解析。该项目需1~3天完成,重点在于掌握请求库的使用场景和数据结构解析。