开源免费的天气预报接口API以及全国所有地区代码(国家气象局提供)

时间:2023-02-18 10:02:56

天气预报一直是各大网站的一个基本功能,最近小编也想在网站上弄一个,得瑟一下,在网络搜索了很久,终于找到了开源免费的天气预报接口API以及全国所有地区代码(国家气象局提供),具体如下:

国家气象局提供的天气预报接口

  • http://www.weather.com.cn/data/sk/101010100.html
  • http://www.weather.com.cn/data/cityinfo/101010100.html
  • http://m.weather.com.cn/data/101010100.html

城市的编号

其中101010100表示每个城市的编号,编号代码获取获取地址

  • 获取省级代码:http://www.weather.com.cn/data/list3/city.xml?level=1
  • 获取城市代码(比如安徽是22):http://www.weather.com.cn/data/list3/city22.xml?level=2
  • 获取区域代码(比如安庆是2206):http://www.weather.com.cn/data/list3/city2206.xml?level=3
    获取到安徽省安庆市望江县的代码是220607
  • 然后去加上中国代码请求URL:http://m.weather.com.cn/data/101220607.html 就可以获取当地天气。

图片接口

用过上面的api返回的数据中包含有图片名字可以通过一下地址访问

  • http://m.weather.com.cn/img/c0.gif
  • http://m.weather.com.cn/img/b0.gif
  • http://www.weather.com.cn/m/i/weatherpic/29×20/d0.gif
  • http: //www.weather.com.cn/m2/i/icon_weather/29×20/n00.gif

这个图就是天气现象0(晴)的 图片,其他天气现象的图片依此类推。c打头的图片是20*20像素的,b打头的是50*46像素的,d打头的是反白的图标,29*20像素,n打头的是夜 间反白图标,29*20像素,注意这里的文件名是两位数字!

解析数据

国家气象局提供的天气预报接口返回的是json数据,如果是php可以使用json_decode()转换为数组,遍历数组去除数据即可。