其他
用 60s API 查询中国实时天气与天气预报并生成出行建议
当用户询问中国境内某地实时天气、未来预报、温度/湿度/风力/空气质量,或需要据此给出穿衣带伞等建议时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 60s API 查询中国实时天气与天特定
解决思路
- 调用实时天气接口:GET https://60s.viki.moe/v2/weather/realtime,通过 params 传 query 参数
- 调用天气预报接口:GET https://60s.viki.moe/v2/weather/forecast,通过 params 传 query 参数
- query 为必填项,必须使用中文地名:可传城市名(如 北京、上海、广州),也可传区名(如 海淀区、浦东新区)
- 用 Python requests 发起请求:requests.get(url, params={'query': query}).json(),或用 bash 执行 curl "https://60s.viki.moe/v2/weather/realtime?query=北京"
- 解析实时天气返回字段:location、weather、temperature、humidity、wind、air_quality、updated,并格式化为带 emoji 的展示文本(如 🌡️ 温度:{temperature}°C、💨 风速:{wind}、💧 湿度:{humidity}、🌫️ 空气质量:{air_quality})
- 解析预报返回字段:遍历 forecast 数组,每项取 date、day_of_week、weather、temp_low、temp_high、wind,按 {date} {day_of_week} / {weather} {temp_low}°C ~ {temp_high}°C / {wind} 输出;用户只问未来几天时用 forecast[:3] 之类的切片截取
- 回答“会不会下雨”:先查实时天气,若 weather 字段包含“雨”则直接告知正在下雨并建议带伞;否则遍历 forecast 找出 weather 含“雨”的日期并告知该日期可能下雨;都没有则回复近期无降雨预报
- 生成天气建议:temperature 转 int 后,>30 提示防暑降温多喝水,<5 提示注意保暖;weather 含“雨”提示带伞;air_quality 属于 ['差','重度污染'] 时建议戴口罩
- 做多城市天气对比:逐个城市调实时接口,收集 city、int(temperature)、weather,用 max/min 找出最热与最冷城市并输出
- 做出行天气检查:取 forecast 前 N 天,筛掉 weather 含“雨”或“雪”的日期,若存在则输出适合出行的日期列表,否则提示未来 N 天不适合出行
- 遵守最佳实践:地名一律用中文字符;展示结果前校验地点是否有效;根据天气补充上下文建议(雨→带伞、热→补水、冷→保暖、空气质量差→口罩);天气数据可做短时间缓存;区名查询失败时回退用城市名
- 排障处理:提示地点找不到时改用主城市名而非区名(如用“北京”替代“朝阳区”);无预报数据时核对地名并用标准城市名(北京、上海、广州、深圳等);怀疑数据过时则检查响应中的 updated 时间戳
- 可用范围:接口支持中国大部分城市与区县,包括省会城市(北京、上海、广州、深圳、成都、杭州、南京、武汉等)、主要城市(苏州、青岛、大连、厦门等)及区(海淀区、朝阳区、浦东新区等);更多说明见 https://docs.60s-api.viki.moe 与 https://github.com/vikiboss/60s
适用边界 · 注意事项
- 查询中国大陆以外地区的天气时不适用
- 依赖 60s 第三方 API(https://60s.viki.moe/v2)可用,若该服务不可访问或未联网则无法使用
- 需要官方气象预警、分钟级降水等权威高精度数据时,不应只依赖该聚合接口