天气预报、查询API接口大全

2021-02-14 11:16

阅读:420

目录:

  1.  中国天气网

     1.1  实时天气 API 接口

     1.2  当天天气 API接口

     1.3 生活指数 API接口

     1.4 未来五天天气 API 接口(失效)

 2.   开放数据网天气

      2.1 简介

      2.2. 一天天气 API 接口

      2.3 未来五天天气 API 接口

3.   中国天气&开放数据 综合版

    3.1  实时天气

    3.2  当天天气

    3.3 未来五天

    3.4 生活指数

4.  随身云天气API (无天气标志)

    4.1 简介

    4.1  简化版 未来6天天气 API接口

    4.2   详细版 未来6天 天气API接口

5. 新浪天气

    5. 1  简介

    5.2   使用方法

    5.3   天气标志

6.  总结

 

正文:

 

第一节: 中国天气网

    1.1 简介

       中国最权威的天气预报网络平台,很多平台实际上也是用的他们的数据。

        官方网站:http://www.weather.com.cn

     1.2  地方代码获取方法

         它对外提供了有限的免费API接口,通过地方代码来查询,使用前先需要确定地方代码:

         获取城市代码方法: 进入   http://www.weather.com.cn

         在搜索框上输入你要需要获得天气的城市,点击查询,即可在地址栏获得相应城市编号,示范:北京的地方代码:101010100

 

     1.3  实时天气接口

   
         接口示例:  http://www.weather.com.cn/data/sk/101010100.html

     返回格式:

 

 

    {"weatherinfo":{"city":"北京","cityid":"101010100","temp":"23","WD":"东风","WS":"2级","SD":"92%","WSE":"2","time":"09:55","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}

   

      说明:其中 city 是地方名称,cityid是地方代码,temp是当前温度,"WD"是风向,“WS"是风速”,“SD"是湿度,time是更新时间。

 

    1.4 获取当天天气:

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

 

   返回格式:

 

      weatherinfo":{"city":"北京","cityid":"101010100","temp1":"29℃","temp2":"24℃","weather":"阴转晴","img1":"d2.gif","img2":"n0.gif","ptime":"08:00"}}

  

       注意:其中 img1和img2是天气标志图片,接口格式如下:

                http://m.weather.com.cn/img/c0.gif
                http://m.weather.com.cn/img/b0.gif
                http://www.weather.com.cn/m/i/weatherpic/29x20/d0.gif
               http://www.weather.com.cn/m2/i/icon_weather/29x20/n00.gif
          这个图就是天气现象0(晴)的图片,其他天气现象的图片依此类推。c打头的图片是20*20像素的,b打头的是50*46像素的,d打头的是反白的图标,  29*20像素,n打头的是夜间反白图标,29*20像素,注意这里的文件名是两位数字!

 

 

  1.5  生活指数:

        http://www.weather.com.cn/data/zs/101010100.html

      返回格式: 文字较多,这里省略,请点击访问。

 

   1.6 获取未来几天天气

      http://m.weather.com.cn/data/101110101.html(已经失效)

 

     这个是获取未来5天天气的接口,可惜已经失效,不能获取到最新的准确数据。

 

      解决方法是可以采集主站数据,缺点是一旦主页布局修改,就会失效,比如 2014年7月29号网站就改版过一次。

    

2. 开放数据 - k780数据

    2.1 简介

       官方网站:http://www.k780.com

       说明: 数据来自国家气象局天气网,每小时更新一次    

       免费版有每小时点击次数的限制(免费版最多每小时72000次查询)

 

     2.2   获取今日天气

             详细说明:  http://www.k780.com/api/weather.today

           请求示例(xml)
            http://api.k780.com:88/?app=weather.today&weaid=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml

 

返回实例:

 

 xml version="1.0" encoding="utf-8" ?>

root>
  success>1success>
result>
  weaid>1weaid>
  days>2014-07-30days>
  week>星期三week>
  cityno>beijingcityno>
  citynm>北京citynm>
  cityid>101010100cityid>
  temperature>29℃/24℃temperature>
  humidity>84.2℉/75.2℉humidity>
  weather>阴转晴weather>
  weather_icon>http://api.k780.com:88/upload/weather/d/2.gifweather_icon>
  weather_icon1>http://api.k780.com:88/upload/weather/d/0.gifweather_icon1>
  wind>微风wind>
  winp>小于3级winp>
  temp_high>29temp_high>
  temp_low>24temp_low>
  humi_high>84.2humi_high>
  humi_low>75.2humi_low>
  weatid>3weatid>
  weatid1>1weatid1>
  windid>1windid>
  winpid>2winpid>
  result>
  root>

 

         参数说明:其中 ,wedid 是城市气象编号,与中国天气网编号一致,key和sign是身份验证,注册一个可以换成自己的,上例中的10003是公众帐号,formt是返回格式,支持 json,xml,除了formt不是必须的以外,其他参数都是必须提供的。

 

  比如 我想获得深圳的今日数据:

  第一步: 首先查询深圳的城市代码

           方法1:通过 http://api.k780.com:88/?app=weather.city&format=xml 查询

           方法2:通过 http://www.weather.com.cn 查询,前面已经提到过。

   经查询,深圳的地方代码是 101280601

 

 第二步: 通过地方代码获取今日天气

          深圳的今天天气数据就是:

        http://api.k780.com:88/?app=weather.today&weaid=101280601&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml

 

  2.3  获取未来五天

      请求示例(Xml)
    http://api.k780.com:88/?app=weather.future&weaid=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml
 

 返回示例:

 

 xml version="1.0" encoding="utf-8" ?>

root>
  success>1success>
result>
item_0>
  weaid>1weaid>
  days>2014-07-30days>
  week>星期三week>
  cityno>beijingcityno>
  citynm>北京citynm>
  cityid>101010100cityid>
  temperature>29℃/24℃temperature>
  humidity>84.2℉/75.2℉humidity>
  weather>阴转晴weather>
  weather_icon>http://api.k780.com:88/upload/weather/d/2.gifweather_icon>
  weather_icon1>http://api.k780.com:88/upload/weather/d/0.gifweather_icon1>
  wind>微风wind>
  winp>小于3级winp>
  temp_high>29temp_high>
  temp_low>24temp_low>
  humi_high>84.2humi_high>
  humi_low>75.2humi_low>
  weatid>3weatid>
  weatid1>1weatid1>
  windid>1windid>
  winpid>2winpid>
  item_0>
item_1>
  weaid>1weaid>
  days>2014-07-31days>
  week>星期四week>
  cityno>beijingcityno>
  citynm>北京citynm>
  cityid>101010100cityid>
  temperature>31℃/24℃temperature>
  humidity>87.8℉/75.2℉humidity>
  weather>weather>
  weather_icon>http://api.k780.com:88/upload/weather/d/0.gifweather_icon>
  weather_icon1>http://api.k780.com:88/upload/weather/d/0.gifweather_icon1>
  wind>微风wind>
  winp>小于3级winp>
  temp_high>31temp_high>
  temp_low>24temp_low>
  humi_high>87.8humi_high>
  humi_low>75.2humi_low>
  weatid>1weatid>
  weatid1>1weatid1>
  windid>1windid>
  winpid>2winpid>
  item_1>
item_2>
  weaid>1weaid>
  days>2014-08-01days>
  week>星期五week>
  cityno>beijingcityno>
  citynm>北京citynm>
  cityid>101010100cityid>
  temperature>33℃/25℃temperature>
  humidity>91.4℉/77℉humidity>
  weather>weather>
  weather_icon>http://api.k780.com:88/upload/weather/d/0.gifweather_icon>
  weather_icon1>http://api.k780.com:88/upload/weather/d/0.gifweather_icon1>
  wind>微风wind>
  winp>小于3级winp>
  temp_high>33temp_high>
  temp_low>25temp_low>
  humi_high>91.4humi_high>
  humi_low>77humi_low>
  weatid>1weatid>
  weatid1>1weatid1>
  windid>1windid>
  winpid>2winpid>
  item_2>
item_3>
  weaid>1weaid>
  days>2014-08-02days>
  week>星期六week>
  cityno>beijingcityno>
  citynm>北京citynm>
  cityid>101010100cityid>
  temperature>34℃/24℃temperature>
  humidity>93.2℉/75.2℉humidity>
  weather>weather>
  weather_icon>http://api.k780.com:88/upload/weather/d/0.gifweather_icon>
  weather_icon1>http://api.k780.com:88/upload/weather/d/0.gifweather_icon1>
  wind>微风wind>
  winp>小于3级winp>
  temp_high>34temp_high>
  temp_low>24temp_low>
  humi_high>93.2humi_high>
  humi_low>75.2humi_low>
  weatid>1weatid>
  weatid1>1weatid1>
  windid>1windid>
  winpid>2winpid>
  item_3>
item_4>
  weaid>1weaid>
  days>2014-08-03days>
  week>星期日week>
  cityno>beijingcityno>
  citynm>北京citynm>
  cityid>101010100cityid>
  temperature>33℃/25℃temperature>
  humidity>91.4℉/77℉humidity>
  weather>晴转多云weather>
  weather_icon>http://api.k780.com:88/upload/weather/d/0.gifweather_icon>
  weather_icon1>http://api.k780.com:88/upload/weather/d/1.gifweather_icon1>
  wind>微风wind>
  winp>小于3级winp>
  temp_high>33temp_high>
  temp_low>25temp_low>
  humi_high>91.4humi_high>
  humi_low>77humi_low>
  weatid>1weatid>
  weatid1>2weatid1>
  windid>1windid>
  winpid>2winpid>
  item_4>
item_5>
  weaid>1weaid>
  days>2014-08-04days>
  week>星期一week>
  cityno>beijingcityno>
  citynm>北京citynm>
  cityid>101010100cityid>
  temperature>33℃/25℃temperature>
  humidity>91.4℉/77℉humidity>
  weather>多云weather>
  weather_icon>http://api.k780.com:88/upload/weather/d/1.gifweather_icon>
  weather_icon1>http://api.k780.com:88/upload/weather/d/1.gifweather_icon1>
  wind>微风wind>
  winp>小于3级winp>
  temp_high>33temp_high>
  temp_low>25temp_low>
  humi_high>91.4humi_high>
  humi_low>77humi_low>
  weatid>2weatid>
  weatid1>2weatid1>
  windid>1windid>
  winpid>2winpid>
  item_5>
  result>
  root>

 

   转换方法与前面类似,这里就不需要重复了。

 

3. 综合方案

    3. 1 实时天气

          我们用 :  http://www.weather.com.cn/data/sk/101010100.html

    3.2  今天天气

         2个选择: 

         1.   http://www.weather.com.cn/data/cityinfo/101010100.html 

   

         2.   http://api.k780.com:88/?app=weather.today&weaid=101010100&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml

 

     3.3  未来几天天气

           今天天气及未来五天天气 :

         http://api.k780.com:88/?app=weather.future&weaid=101010100&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml

   

    3.4    生活指数

             http://www.weather.com.cn/data/zs/101010100.html

           

 

 4. 随身云 天气API接口

    4.1 简介
        这个是官方没有公开的接口,是网络上有人访问中国农历网无意中截取到的,所以不保证稳定性,还有一个缺点是不能获取天气标志图片。
     4.2  简化版接口
      接口示例(北京): http://wthrcdn.etouch.cn/weather_mini?citykey=101010100
      参数citykey就是设置地方代码,和中国天气网的地方代码一样,替换要查询的地方代码即可,下同。
返回示例:

{"desc":"OK","status":1000,"data":{"wendu":"28","ganmao":"相对今天出现了较大幅度降温,较易发生感冒,体质较弱的朋友请注意适当防护。","forecast":[{"fengxiang":"微风","fengli":"小于3级","high":"高温 29℃","type":"阴","low":"低温 24℃","date":"30日星期三"},{"fengxiang":"微风","fengli":"小于3级","high":"高温 31℃","type":"晴","low":"低温 24℃","date":"31日星期四"},{"fengxiang":"微风","fengli":"小于3级","high":"高温 33℃","type":"晴","low":"低温 25℃","date":"1日星期五"},{"fengxiang":"微风","fengli":"小于3级","high":"高温 34℃","type":"晴","low":"低温 24℃","date":"2日星期六"},{"fengxiang":"微风","fengli":"小于3级","high":"高温 33℃","type":"晴","low":"低温 25℃","date":"3日星期天"},{"fengxiang":"微风","fengli":"小于3级","high":"高温 33℃","type":"多云","low":"低温 25℃","date":"4日星期一"},{"fengxiang":"微风","fengli":"小于3级","high":"高温 33℃","type":"多云","low":"低温 25℃","date":"5日星期二"}],"yesterday":{"fl":"小于3级","fx":"微风","high":"高温 29℃","type":"中雨","low":"低温 22℃","date":"29日星期二"},"aqi":"186","city":"北京"}}



    2.  详细版接口
     接口示例: http://wthrcdn.etouch.cn/WeatherApi?citykey=101010100
返回示例:

 
  1. xml version="1.0" encoding="UTF-8" ?>
  2. -
  3. 北京
  4. 16:05
  5. 28
  6. 2级
  7. 66%
  8. 东风
  9. 05:10
  10. 19:31
  11. />
  12. />
  13. -
  14. 186
  15. 140
  16. ...适量减少户外运动
  17. 中度污染
  18. 颗粒物(PM2.5)
  19. 142
  20. 2
  21. 0
  22. 4
  23. 24
  24. -
  25. 29日星期二
  26. 高温 29℃
  27. 低温 22℃
  28. -
  29. 中雨
  30. 微风
  31. 小于3级
  32. -
  33. 中雨
  34. 微风
  35. 小于3级
  36. -
  37. -
  38. 30日星期三
  39. 高温 29℃
  40. 低温 24℃
  41. -
  42. 微风
  43. 小于3级
  44. -
  45. 微风
  46. 小于3级
  47. -
  48. 31日星期四
  49. 高温 31℃
  50. 低温 24℃
  51. -
  52. 微风
  53. 小于3级
  54. -
  55. 微风
  56. 小于3级
  57. &


评论


亲,登录后才可以留言!