背景介绍
随着全球城市化进程加快,获取城市天气信息的需求日益增长。本项目旨在帮助用户通过简单的HTML/JavaScript实现一个小型Web应用,用户只需输入城市名称即可获取当前天气信息并以JSON格式返回。该功能要求用户通过HTML页面接收输入并动态渲染JSON数据,无需依赖第三方库或复杂框架。
思路分析
- 需求分析:用户需要输入城市名称,系统需从网络中获取天气信息并输出JSON。
- 数据处理:需从天气API(如OpenWeatherMap)获取API密钥,并解析返回的数据。
- 文件读写:JSON数据需要被存储并输出,需处理可能的错误处理和数据验证。
- 交互逻辑:HTML页面接收输入并触发JavaScript动态渲染JSON数据。
代码实现
Python 实现
import requests
def get_weather_info(city):
# 随机选择API密钥(可替换为实际密钥)
api_key = "YOUR_API_KEY"
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}"
# 请求天气数据
response = requests.get(url)
data = response.json()
# 处理异常
if response.status_code == 404:
print(f"Error: {city} not found. Check city spelling.")
else:
print(f"Current weather for {city}:")
print(f"Temperature: {data['main']['temp']}°C")
print(f"Humidity: {data['main']['humidity']}%")
print(f"Wind: {data['wind']}")
print("\n")
# 示例输入
city_input = input("Enter city name: ")
get_weather_info(city_input)
测试用例
# 测试输入
print("Test Case 1: Beijing")
get_weather_info("Beijing")
# 测试输入
print("Test Case 2: Tokyo")
get_weather_info("Tokyo")
总结
本项目通过Python实现了一个小型Web应用,核心功能包括:
1. 输入城市名称并获取天气信息。
2. 使用网络请求和JSON处理。
3. 提供可运行的本地环境支持。
掌握的数据处理和文件读写知识为后续开发打下了基础,该项目难度适中,可在1~3天内完成。