天气预报、查询API接口大全(最新)

  自序:

       由放飞梦想的专栏收集整理,来源于网络,基本收集了网络上能使用的大部分天气API接口,本人水平有限,难免有遗漏或错误的地方,欢迎反馈

 前言:

    暂无

目录:

  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 > 1 success >
< result >
   < weaid > 1 weaid >
   < days > 2014-07-30 days >
   < week > 星期三 week >
   < cityno > beijing cityno >
   < citynm > 北京 citynm >
   < cityid > 101010100 cityid >
   < temperature > 29℃/24℃ temperature >
   < humidity > 84.2℉/75.2℉ humidity >
   < weather > 阴转晴 weather >
   < weather_icon > http://api.k780.com:88/upload/weather/d/2.gif weather_icon >
   < weather_icon1 > http://api.k780.com:88/upload/weather/d/0.gif weather_icon1 >
   < wind > 微风 wind >
   < winp > 小于3级 winp >
   < temp_high > 29 temp_high >
   < temp_low > 24 temp_low >
   < humi_high > 84.2 humi_high >
   < humi_low > 75.2 humi_low >
   < weatid > 3 weatid >
   < weatid1 > 1 weatid1 >
   < windid > 1 windid >
   < winpid > 2 winpid >
   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 > 1 success >
< result >
< item_0 >
   < weaid > 1 weaid >
   < days > 2014-07-30 days >
   < week > 星期三 week >
   < cityno > beijing cityno >
   < citynm > 北京 citynm >
   < cityid > 101010100 cityid >
   < temperature > 29℃/24℃ temperature >
   < humidity > 84.2℉/75.2℉ humidity >
   < weather > 阴转晴 weather >
   < weather_icon > http://api.k780.com:88/upload/weather/d/2.gif weather_icon >
   < weather_icon1 > http://api.k780.com:88/upload/weather/d/0.gif weather_icon1 >
   < wind > 微风 wind >
   < winp > 小于3级 winp >
   < temp_high > 29 temp_high >
   < temp_low > 24 temp_low >
   < humi_high > 84.2 humi_high >
   < humi_low > 75.2 humi_low >
   < weatid > 3 weatid >
   < weatid1 > 1 weatid1 >
   < windid > 1 windid >
   < winpid > 2 winpid >
   item_0 >
< item_1 >
   < weaid > 1 weaid >
   < days > 2014-07-31 days >
   < week > 星期四 week >
   < cityno > beijing cityno >
   < citynm > 北京 citynm >
   < cityid > 101010100 cityid >
   < temperature > 31℃/24℃ temperature >
   < humidity > 87.8℉/75.2℉ humidity >
   < weather > weather >
   < weather_icon > http://api.k780.com:88/upload/weather/d/0.gif weather_icon >
   < weather_icon1 > http://api.k780.com:88/upload/weather/d/0.gif weather_icon1 >
   < wind > 微风 wind >
   < winp > 小于3级 winp >
   < temp_high > 31 temp_high >
   < temp_low > 24 temp_low >
   < humi_high > 87.8 humi_high >
   < humi_low > 75.2 humi_low >
   < weatid > 1 weatid >
   < weatid1 > 1 weatid1 >
   < windid > 1 windid >
   < winpid > 2 winpid >
   item_1 >
< item_2 >
   < weaid > 1 weaid >
   < days > 2014-08-01 days >
   < week > 星期五 week >
   < cityno > beijing cityno >
   < citynm > 北京 citynm >
   < cityid > 101010100 cityid >
   < temperature > 33℃/25℃ temperature >
   < humidity > 91.4℉/77℉ humidity >
   < weather > weather >
   < weather_icon > http://api.k780.com:88/upload/weather/d/0.gif weather_icon >
   < weather_icon1 > http://api.k780.com:88/upload/weather/d/0.gif weather_icon1 >
   < wind > 微风 wind >
   < winp > 小于3级 winp >
   < temp_high > 33 temp_high >
   < temp_low > 25 temp_low >
   < humi_high > 91.4 humi_high >
   < humi_low > 77 humi_low >
   < weatid > 1 weatid >
   < weatid1 > 1 weatid1 >
   < windid > 1 windid >
   < winpid > 2 winpid >
   item_2 >
< item_3 >
   < weaid > 1 weaid >
   < days > 2014-08-02 days >
   < week > 星期六 week >
   < cityno > beijing cityno >
   < citynm > 北京 citynm >
   < cityid > 101010100 cityid >
   < temperature > 34℃/24℃ temperature >
   < humidity > 93.2℉/75.2℉ humidity >
   < weather > weather >
   < weather_icon > http://api.k780.com:88/upload/weather/d/0.gif weather_icon >
   < weather_icon1 > http://api.k780.com:88/upload/weather/d/0.gif weather_icon1 >
   < wind > 微风 wind >
   < winp > 小于3级 winp >
   < temp_high > 34 temp_high >
   < temp_low > 24 temp_low >
   < humi_high > 93.2 humi_high >
   < humi_low > 75.2 humi_low >
   < weatid > 1 weatid >
   < weatid1 > 1 weatid1 >
   < windid > 1 windid >
   < winpid > 2 winpid >
   item_3 >
< item_4 >
   < weaid > 1 weaid >
   < days > 2014-08-03 days >
   < week > 星期日 week >
   < cityno > beijing cityno >
   < citynm > 北京 citynm >
   < cityid > 101010100 cityid >
   < temperature > 33℃/25℃ temperature >
   < humidity > 91.4℉/77℉ humidity >
   < weather > 晴转多云 weather >
   < weather_icon > http://api.k780.com:88/upload/weather/d/0.gif weather_icon >
   < weather_icon1 > http://api.k780.com:88/upload/weather/d/1.gif weather_icon1 >
   < wind > 微风 wind >
   < winp > 小于3级 winp >
   < temp_high > 33 temp_high >
   < temp_low > 25 temp_low >
   < humi_high > 91.4 humi_high >
   < humi_low > 77 humi_low >
   < weatid > 1 weatid >
   < weatid1 > 2 weatid1 >
   < windid > 1 windid >
   < winpid > 2 winpid >
   item_4 >
< item_5 >
   < weaid > 1 weaid >
   < days > 2014-08-04 days >
   < week > 星期一 week >
   < cityno > beijing cityno >
   < citynm > 北京 citynm >
   < cityid > 101010100 cityid >
   < temperature > 33℃/25℃ temperature >
   < humidity > 91.4℉/77℉ humidity >
   < weather > 多云 weather >
   < weather_icon > http://api.k780.com:88/upload/weather/d/1.gif weather_icon >
   < weather_icon1 > http://api.k780.com:88/upload/weather/d/1.gif weather_icon1 >
   < wind > 微风 wind >
   < winp > 小于3级 winp >
   < temp_high > 33 temp_high >
   < temp_low > 25 temp_low >
   < humi_high > 91.4 humi_high >
   < humi_low > 77 humi_low >
   < weatid > 2 weatid >
   < weatid1 > 2 weatid1 >
   < windid > 1 windid >
   < winpid > 2 winpid >
   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. 15:00:00
  25. -
  26. 29日星期二
  27. 高温 29℃
  28. 低温 22℃
  29. -
  30. 中雨
  31. 微风
  32. 小于3级
  33. -
  34. 中雨
  35. 微风
  36. 小于3级
  37. -
  38. -
  39. 30日星期三
  40. 高温 29℃
  41. 低温 24℃
  42. -
  43. 微风
  44. 小于3级
  45. -
  46. 微风
  47. 小于3级
  48. -
  49. 31日星期四
  50. 高温 31℃
  51. 低温 24℃
  52. -
  53. 微风
  54. 小于3级
  55. -
  56. 微风
  57. 小于3级
  58. -
  59. 1日星期五
  60. 高温 33℃
  61. 低温 25℃
  62. -
  63. 微风
  64. 小于3级
  65. -
  66. 微风
  67. 小于3级
  68. -
  69. 2日星期六
  70. 高温 34℃
  71. 低温 24℃
  72. -
  73. 微风
  74. 小于3级
  75. -
  76. 微风
  77. 小于3级
  78. -
  79. 3日星期天
  80. 高温 33℃
  81. 低温 25℃
  82. -
  83. 微风
  84. 小于3级
  85. -
  86. 多云
  87. 微风
  88. 小于3级
  89. -
  90. 4日星期一
  91. 高温 33℃
  92. 低温 25℃
  93. -
  94. 多云
  95. 微风
  96. 小于3级
  97. -
  98. 多云
  99. 微风
  100. 小于3级
  101. -
  102. 5日星期二
  103. 高温 33℃
  104. 低温 25℃
  105. -
  106. 多云
  107. 微风
  108. 小于3级
  109. -
  110. 多云
  111. 微风
  112. 小于3级
  113. -
  114. -
  115. 感冒指数
  116. 较易发
  117. 较易发生感冒,体质较弱的朋友请注意适当防护。
  118. -
  119. 紫外线指数
  120. 紫外线强度较弱。
  121. -
  122. 穿衣指数
  123. 天气热,建议着短裙、短裤、短薄外套、T恤等夏季服装。
  124. -
  125. 舒适度
  126. 较舒适
  127. 白天以阴或多云天气为主。
  128. -
  129. 洗车指数
  130. 不宜
  131. 不宜洗车,路面积水较多,不宜擦洗汽车...
  132. -
  133. 旅游指数
  134. 适宜
  135. 天气较好,温度适宜,总体来说还是好天气哦...
  136. -
  137. 运动指数
  138. 较不宜
  139. 阴天,且天气较热,请减少运动时间并降低运动强度。
  140. -
  141. 晨练指数
  142. 较适宜
  143. 早晨气象条件较适宜晨练...
  144. -
  145. 约会指数
  146. 较适宜
  147. 虽然天空有些阴沉,但情侣们可以放心外出...
  148. -
  149. 逛街指数
  150. 适宜
  151. 阴天,在这种天气里去逛街,省去了涂防晒霜...
  152. -
  153. 晾晒指数
  154. 不太适宜
  155. 天气阴沉,请尽量选择通风的地点。
  156. -
  157. 雨伞指数
  158. 不带伞
  159. 阴天,但降水概率很低,无须带雨伞。
  160. -

5. 新浪天气接口

    接口示例:

        http://php.weather.sina.com.cn/xml.php?city=深圳&password=DJOYnieT8234jlsK&day=0

 

     其中,city后是城市名称。Password固定,Day为0表示当天天气,1表示第二天的天气,2表示第三天的天气,以此类推,最大为4

 

返回示例:

 
  
  1. xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. - f%28clean%29%3B
  4. -
  5. -
  6. 深圳
  7. 多云
  8. 多云
  9. duoyun
  10. duoyun
  11. 无持续风向
  12. 无持续风向
  13. ≤3
  14. ≤3
  15. 34
  16. 27
  17. 8
  18. 31
  19. 31
  20. 1
  21. 2
  22. 3
  23. 4
  24. />
  25. />
  26. />
  27. 1
  28. 暂无
  29. 暂无
  30. 暂无
  31. 短袖衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫
  32. 轻度
  33. 最弱
  34. 较热
  35. 暂无
  36. 暂无
  37. 薄短袖类
  38. 适宜开启(制冷)
  39. 不太适宜
  40. 暂无
  41. 对空气污染物扩散无明显影响
  42. 紫外线最弱
  43. 户外活动不适宜在中午前后展开。
  44. 适宜开启空调
  45. 洗车后未来1-2天内有降水、大风或沙尘天气,不太适宜洗车
  46. 2
  47. 易发期
  48. 天气闷热,注意预防热伤风;
  49. 5
  50. 不适宜
  51. 天气闷热,不适宜户外运动;
  52. 2014-07-30
  53. 2014-07-30
  54. 2014-07-30
 

 图片格式:

         figure1和figure2标签分别代表天气的白天和夜间标志,根据下面的规则转换为具体的路径:

   

 多云的78*78 小图:

         白天: http://php.weather.sina.com.cn/images/yb3/78_78/duoyun_0.png 

         夜间: http://php.weather.sina.com.cn/images/yb3/78_78/duoyun_1.png

  多云的 180*180 大图:
          白天:http://php.weather.sina.com.cn/images/yb3/180_180/duoyun_0.png
          夜间:http://php.weather.sina.com.cn/images/yb3/180_180/duoyun_1.png

 
 云聚: http://api.36wu.com
 实时天气:http://api.36wu.com/Weather/GetWeather?city=%E5%8C%97%E4%BA%AC&output=xml
 一周天气: http://api.36wu.com/Weather/GetMoreWeather?city=%E5%8C%97%E4%BA%AC&output=xml
 智能IP一周: http://api.36wu.com/Weather/GetMoreWeatherByIp?city=%E5%8C%97%E4%BA%AC&output=xml
 
 
 

你可能感兴趣的:(其他)