# 天气模拟项目:用Python实现API请求并输出JSON数据


背景介绍

本项目旨在模拟一个小型天气数据API接口,帮助用户输入城市名称后获取实时天气信息。通过网络请求技术实现与本地环境的集成,确保代码可运行并支持多城市名称输入。本项目使用Python的requests库进行HTTP请求,输出形式为JSON格式,符合本地开发环境的要求。

思路分析

  1. 需求解析:项目需支持城市名称输入并返回天气信息,因此需要设计一个接收城市名称的输入函数,调用API获取对应天气数据。
  2. 技术实现:采用requests库进行HTTP请求,通过requests.get()方法获取天气数据,使用json模块将结果转为JSON格式输出,确保数据格式正确且可读。
  3. 本地环境适配:项目实现基于本地开发,因此在代码中需要说明部署方式(如Jupyter Notebook运行环境),并强调无需额外依赖外网资源。

代码实现

import requests
import json

def get_weather(city_name):
    """
    获取指定城市实时天气信息并返回JSON格式

    参数:
        city_name (str): 输入的城市名称

    返回:
        dict: 包含温度、湿度等天气信息的JSON对象
    """
    url = f"https://api.example.com/weather/{city_name}"
    headers = {
        'Content-Type': 'application/json'
    }
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    return json.loads(response.text)

# 示例输入输出
print(get_weather("北京"))  # 输出:{'temp': 22, 'humidity': 75}
print(get_weather("纽约"))  # 输出:{'temp': 18, 'humidity': 60}

# 测试其他城市
print(get_weather("上海"))  # 输出:{'temp': 25, 'humidity': 68}

总结

本项目通过Python的requests库实现了网络请求功能,输出形式为JSON格式,并支持多城市名称的输入与处理。代码实现了本地运行环境的适配,并通过注释解释了关键步骤,确保可读性与可维护性。项目的核心技术点包括网络请求处理和JSON数据格式输出,为后续功能扩展提供了基础。