气象相关免费API

起因是看到了这个帖子

想起之前也收集了一堆这方面的API,于是便再与大家分享。
以下API的数据比较原始,没有上面那么特色(云量等),但实况可能更准确。

风速统一以m/s为单位。

1.中央气象台

过去降水+实况+预报

这个API提供详细的天气信息,全国各地都有。

http://www.nmc.cn/rest/weather?stationid={stationid}

{stationid}改成你所在地区,可以这样获取:

  1. 先去http://nmc.cn/rest/province 这个省份列表找到自己的省份代码(code),比如湖南是AHN
  2. 把省份的code记下来,添加加到上面那个链接后面。比如湖南省就是
    http://nmc.cn/rest/province/AHN
  3. 继续访问这个链接,找到自己所在的城市对应的code(stationid),比如cYyyF
  4. 最后把第一个链接的{stationid}换上就好。

API提供当地气象局国家站的实况数据,更新很及时,延迟最多20分钟。中国气象局的API实况更新比这更及时,详见下文。
提供以下数据:

点击展开
  1. 实时天气数据(real)
  • 测站信息
    • 站点代码(code)
    • 省份(province)
    • 城市(city)
    • 预报URL(url)
  • 实况数据发布时间(publish_time)
  • 天气信息(weather):
    • 温度(temperature)
    • 温差(temperatureDiff)
    • 气压(airpressure,好像只有发布时间为整点时才有数据)
    • 湿度(humidity)
    • 降雨量(rain)
    • 体感舒适度?(rcomfort)
    • 舒适度指数?(icomfort)
    • 天气情况(info)
    • 天气图标(img)
    • 体感温度(feelst)
  • (wind):
    • 风向(direct)
    • 风向角度(degree)
    • 风力(power)
    • 风速(speed,单位应该是km/h)
  • 预警信息(warn):
    • 警报(alert)
    • 图片(pic)
    • 省份(province)
    • 城市(city)
    • URL(url)
    • 发布内容(issuecontent)
    • 措施(fmeans)
    • 信号类型(signaltype)
    • 信号等级(signallevel)
    • 第二张图片(pic2)
  1. 天气预报数据(predict)
  • 测站信息
    • 代码(code)
    • 省份(province)
    • 城市(city)
    • URL(url)
  • 预报发布时间(publish_time)
  • 详细预报(detail):
    • 日期(date)
    • 预报时间(pt)
    • 白天天气(day):
      • 天气情况(info)
      • 天气图标(img)
      • 温度(temperature)
      • 风(wind):风向(direct),风力(power)
    • 夜间天气(night):
      • 天气情况(info)
      • 天气图标(img)
      • 温度(temperature)
      • 风(wind):风向(direct),风力(power)
    • 降雨量(precipitation)
  1. 空气质量实况数据(air)
  • 更新时间(forecasttime)
  • 空气质量指数(aqi)
  • 空气质量等级(aq)
  • 空气质量文本(text)
  • 空气质量代码(aqiCode)
  1. 温度变化图表(tempchart)
  • 时间(time)
  • 最高温度(max_temp)
  • 最低温度(min_temp)
  • 白天天气图标(day_img)
  • 白天天气文本(day_text)
  • 夜间天气图标(night_img)
  • 夜间天气文本(night_text)
  1. 过去的天气数据(passedchart)
  • 每小时降雨量(rain1h)
  • 24小时降雨量(rain24h)
  • 12小时降雨量(rain12h)
  • 6小时降雨量(rain6h)
  • 温度(temperature)
  • 温差(tempDiff)
  • 湿度(humidity)
  • 气压(pressure)
  • 风向(windDirection)
  • 风速(windSpeed)
  • 时间(time)
  1. 气候数据(climate)
  • 时间范围(time,一般是1981~2010)
  • 月份数据(month):
    • 月份(month)
    • 最高温度(maxTemp)
    • 最低温度(minTemp)
    • 降雨量(precipitation)
  1. 实况雷达数据(radar)
  • 标题(title)
  • 图片URL(image)
  • 链接(url)

以上数据若有的为9999,则是没有数据!

仅天气实况

http://www.nmc.cn/rest/real/{stationid}

这个API内容与上面的相似,但是只有实况信息,相对简洁一些
stationid的获取方法同上。把{stationid}替换成你所在地区的就好。
提供以下数据:

点击展开

站点信息

  • 代码
  • 省份
  • 城市
  • 网址

实况发布时间

天气信息

  • 温度
  • 温差
  • 气压
  • 湿度
  • 降雨量
  • 体感舒适度?(rcomfort)
  • 体感指数?(icomfort)
  • 天气状况
  • 天气图标
  • 体感温度

风力信息

  • 风向
  • 风向角度
  • 风力
  • 风速

预警信息

  • 警报
  • 图片
  • 省份
  • 城市
  • 网址
  • 发布内容
  • 防范措施
  • 信号类型
  • 信号等级
  • 图片2

9999为无数据

2.中国气象局

天气实况

https://weather.cma.cn/api/now/{stationid}

注意,中国气象局的stationid与中央气象台的不通用!这个接口的实况数据更新比中央气象台更快。 中国气象局的stationid是纯数字的,也是真实的,中央气象台的stationid上个月改成随机大小写字母了,非常不人性化。
stationid只能从 weather.cma.cn 找到你所在城市,然后看地址栏的后面那五位数字获取。
此接口的内容:

点击展开
  1. 位置信息
  • 站点ID
  • 地区名称
  • 地区路径
  1. 当前天气
  • 降水量
  • 温度
  • 气压
  • 湿度
  • 风向
  • 风向角度
  • 风速
  • 风力等级
  1. 天气预警
  • 预警ID
  • 预警标题
  • 预警类型
  • 预警级别
  • 生效时间
  • 事件类型
  • 严重性
  • 类型代码,可参见这篇文章
  1. 最后更新时间

实况+预报

https://weather.cma.cn/api/weather/view?stationid={stationid}

此接口的内容:

总结

地理位置

  • stationid
  • 名称
  • 路径
  • 经度
  • 纬度
  • 时区

当前天气(now)

  • 降水量
  • 温度
  • 气压
  • 湿度
  • 风向
  • 风向角度
  • 风速
  • 风力等级

每日天气预报(daily)

  • 日期
  • 最高温度
  • 最低温度
  • 白天天气描述
  • 白天天气代码
  • 白天风向
  • 白天风力等级
  • 夜间天气描述
  • 夜间天气代码
  • 夜间风向
  • 夜间风力等级

气象警报(alarm)

  • id
  • 标题
  • 警报类型
  • 警报等级
  • 生效时间
  • 事件类型代码
  • 严重程度
  • 类型代码

数据更新时间(lastUpdate)

  • 最后更新时间

3.全国城市空气质量实时发布平台

这个网站接口好多,历史数据都有,需要的自己去抓,这里讲常用的。

本地所有空气质量站点实时数据

https://air.cnemc.cn:18007/CityData/GetAQIDataPublishLive?cityName={cityname}

这个接口会显示一个地区所有的空气质量监测站的详细信息。{cityname}就是你所在地区的中文汉字,如咸阳市

实时数据

https://air.cnemc.cn:18007/CityData/GetAQIDataPublishLiveInfo?cityCode={cityCode}

这个接口只会简单的返回当地的空气质量数据。
{cityCode}是当地的行政区划代码,可在这里找到,只需要找到市级就可以了,不要再往下找区级县级了,没用。取该市代码的前6位数。如咸阳为610400000000,那cityCode就是610400。


这里刚才1小时从35度降到23度,现在又开始升温了…

上述接口有什么用,就要看你的想象了。

觉得有用就点个赞吧。

65 个赞

感谢分享~

5 个赞

水龙真快

2 个赞

阿龙 你能不能别水了

1 个赞

点个赞再继续水吧~

1 个赞

好吧:ok_hand:

1 个赞

感谢你的消息

感谢分享

感谢!

1 个赞

先马克 :white_check_mark:

这个好

这种可以搞个网页挂件吗

感谢分享

很高兴能抛砖引玉!

1 个赞

不错的接口

应该可以,叫ChatGPT根据这些接口做一个

2 个赞

感谢分享。

感谢整理!mark!

3 个赞

我用的是 m.weather.com.cn 上面 48小时的数据:

curl "https://d1.weather.com.cn/wap_180h/101010700.html" -H "Referer: ht
tps://m.weather.com.cn/"

城市 id 可以从 http://m.weather.com.cn/city/citysearch.shtml?fromurl=index 搜索城市,然后打开页面 http://m.weather.com.cn/mweather/101010100.shtml 地址可以获取城市 id,可以精确到地区

2 个赞

感谢分享,这个好像也不错