import requestsimport json# 1. 请前往和风天气官网 (dev.qweather.com) 注册,在“控制台”获取你的个人API密钥API_KEY = "***...***" # 替换为你在和风天气官网申请的真正KEY# 2. 确定要查询的城市Location ID# 和风天气使用数字ID标识位置。这里以北京为例,ID为101010100。# (你可以通过调用和风天气的“城市信息搜索”API来查询其他地方的ID)LOCATION_ID = "101191204"URL = f"https://devapi.qweather.com/v7/warning/now?location={LOCATION_ID}&key={API_KEY}"print("正在查询实时天气预警...")try: # 发送GET请求 response = requests.get(URL) response.raise_for_status() # 检查请求是否成功 # 解析返回的JSON数据 data = response.json() # 根据和风天气API标准,'code'为'200'代表请求成功 if data.get('code') == '200': # 获取预警列表,如果没有预警,'warning'字段是一个空列表 warnings = data.get('warning', []) if warnings: print(f"\n⚠️ 查询成功!当前共有 {len(warnings)} 个生效的预警: \n") for warn in warnings: print("-" * 30) print(f" 标题: {warn.get('title', '无标题')}") print(f" 类型: {warn.get('typeName', '未知')} (等级: {warn.get('level', '未知')})") print(f" 发布单位: {warn.get('sender', '未知')}") print(f" 发布时间: {warn.get('pubTime', '未知')}") print(f" 详情: {warn.get('text', '无详情信息')}") print("-" * 30) else: print("\n✅ 查询成功!当前暂无生效的天气预警。") else: print(f"\n❌ 请求失败,错误码: {data.get('code')}。请检查你的API_KEY是否正确,或者是否超过了每日的调用限制。")except requests.exceptions.RequestException as e: print(f"\n❌ 网络请求出错: {e}")