背景介绍
本项目旨在利用Python的requests库实现一个小型网络请求示例,能够从用户输入的关键词中获取对应的城市天气信息。通过构造GET请求,接收用户输入的城市名称,然后解析返回的JSON数据,最终输出结构化结果。项目要求本地运行,无需依赖外部服务,强调网络请求的核心逻辑。
思路分析
- 请求结构:需要构造一个GET请求,请求参数为{“city”: “输入关键词”},URL示例为`https://api.example.com/weather`,用于模拟真实天气数据。
-
数据解析:接收的响应数据结构化为JSON对象,包含城市名称、温度和湿度信息。需要使用
json.loads()解析响应内容。 -
本地运行环境:项目要求开发者在本地环境运行,可以通过虚拟环境(如venv)管理依赖,确保代码可直接部署。
代码实现
import requests
def get_weather_info(keyword):
url = f"https://api.example.com/weather?city={keyword}"
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)
data = response.json()
return {
"city": data.get("city"),
"temperature": data.get("temperature"),
"humidity": data.get("humidity")
}
# 示例输入
user_input = input("请输入城市名称:")
result = get_weather_info(user_input)
print("获取到的天气数据:")
for key, value in result.items():
print(f"{key}: {value}")
总结
本项目通过网络请求的核心知识,实现了从用户输入关键词到天气数据结构化输出的功能。代码实现了数据处理和网络调用的核心逻辑,确保响应数据的正确解析和输出。学习到的关键点包括:网络请求的参数配置、响应数据的解析方法以及本地环境的运行便捷性。该项目为开发者提供了实践网络请求的基础经验,帮助其掌握数据处理与网络调用的核心技能。