调用中国天气网 & 全国多家医院联合发布的花粉监测数据,无需 API 密钥。
⚠️ 支持范围:仅支持中国大陆城市
bash
python3 ~/.openclaw/workspace/skills/pollen-monitor/pollen.py
bash
python3 ~/.openclaw/workspace/skills/pollen-monitor/pollen.py beijing 北京
python3 ~/.openclaw/workspace/skills/pollen-monitor/pollen.py shanghai 上海
城市拼音城市拼音城市拼音北京beijing上海shanghai天津tianjin重庆chongqing广州guangzhou深圳shenzhen成都chengdu杭州hangzhou南京nanjing武汉wuhan西安xian郑州zhengzhou济南jinan沈阳shenyang长春changchun哈尔滨haerbin石家庄shijiazhuang太原taiyuan兰州lanzhou西宁xining银川yinchuan乌鲁木齐wulumuqi呼和浩特huhehaote包头baotou鄂尔多斯eerduosi赤峰chifeng大连dalian烟台yantai淄博zibo聊城liaocheng承德chengde沧州cangzhou保定baoding泊头botou福州fuzhou合肥hefei南昌nanchang长沙changsha南宁nanning海口haikou昆明kunming贵阳guiyang拉萨lasa西宁xining南充nanchong扬州yangzhou无锡wuxi乌海wuhai乌兰浩特wulanhaote延安yanan咸阳xianyang榆林yulin六盘水liupanshui
💡 查询链接: https://m.weather.com.cn/huafen/index.html?id=101010100
text
GET https://graph.weatherdt.com/ty/pollen/v2/hfindex.html
参数说明示例eletype固定为 1(花粉)1city城市拼音(见上表)beijingstart开始日期(7 天前)2026-03-16end结束日期(今天)2026-03-23predictFlag是否包含预报true
levelCodelevel数值范围说明-1未检测到-数据异常或无数据0未检测到花粉0暂无花粉1很低1-70不易引发过敏反应2低71-150易引发轻度过敏,适当防护对症用药3中151-290易引发过敏,加强防护,对症用药4高291-520易引发过敏,加强防护,规范用药5很高≥521极易引发过敏,减少外出,持续规范用药
json
{
"seasonLevel": [...], // 等级说明
"dataList": [ // 每日数据
{
"levelCode": "5", // 等级代码
"level": "很高", // 等级名称
"addTime": "2026-03-23", // 日期
"week": "星期一", // 星期
"levelMsg": "极易引发过敏,减少外出,持续规范用药" // 防护建议
}
],
"seasonLevelName": "春季" // 花粉季名称
}
bash
# 查询北京(默认)
python3 pollen.py
# 查询指定城市
python3 pollen.py beijing 北京
python3 pollen.py shanghai 上海
bash
#!/bin/bash
CITY="${1:-beijing}"
START=$(date -d '-7 days' +%Y-%m-%d)
END=$(date +%Y-%m-%d)
RESPONSE=$(curl -s "https://graph.weatherdt.com/ty/pollen/v2/hfindex.html?eletype=1&city=${CITY}&start=${START}&end=${END}&predictFlag=true")
TODAY=$(echo "$RESPONSE" | jq -r '.dataList | sort_by(.addTime) | .[-2]')
TOMORROW=$(echo "$RESPONSE" | jq -r '.dataList | sort_by(.addTime) | .[-1]')
echo "🌸 ${CITY} 花粉浓度报告"
echo "今天:$(echo "$TODAY" | jq -r '.level') - $(echo "$TODAY" | jq -r '.levelMsg')"
echo "明天:$(echo "$TOMORROW" | jq -r '.level') - $(echo "$TOMORROW" | jq -r '.levelMsg')"
xian 不是 xi'an)