文章转自:
自序:
由nohacks.cn 收集整理,来源于网络,版权归原作者所有,基本收集了网络上能使用的大部分天气API接口,作者水平精力有限,难免有遗漏或错误的地方,欢迎反馈,作者网站:
更新记录:
2015.3.2 更新云聚,增加天气网接口。
2015.2.28 增加百度天气图片,感谢网友彬子的反馈。
2015. 2.19 增加百度天气接口,更新中国天气网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. 微云
7. 百度 API
7.1 获取天气
7.2 获取城市列表
8. 天气网 (网页插件型)
8.1 简介
8.2 智能未来五天天气
前言:
1. 城市代码
现在网络上流传的天气API实际上大多最终调用的是中国天气网的数据,而中国天气网是把每个地方分配了一个代码,这个代码就是城市代码,要获取天气,我们需要知道城市代码,有2种方法:
1.1 手动查询
进入
在搜索框上输入你要需要获得天气的城市,点击查询,即可在地址栏获得相应城市编号,示范:北京的地方代码:101010100
1.2 自动查询
1.2.1 通过百度API
注意: "%e5%8c%97%e4%ba%ac"是"北京"的URL编码(UniCode)
返回格式(UniCode):
{
"errNum": 0,
"retMsg": "success",
"retData": {
"cityName": "北京",
"provinceName": "北京",
"cityCode": "101010100",
"zipCode": "100000",
"telAreaCode": "010"
}
}
很明显,cityCode的值 "101010100"就是城市代码。
2. 天气标志图片
网络上流传的一些很好用的免费API却没有提供天气标志图片,对有此需求的人里说,不得不说是个遗憾,为了弥补这个遗憾,不得不借助第三方平台配合使用,目前作者使用的是新浪天气平台的数据:
把天气API获取到的天气标志转换为拼音,比如“多云”,转换为拼音“duoyun“,然后根据下面的规则转换为图片地址:
2.1 新浪图片
小图(7878):
白天:
夜间:
大图180180
白天:
夜间: 正文:
2.2 百度天气图片
目前知道的小图,感谢网友彬子的反馈
多云(白天) 多云(夜间)
白天:
夜间:
第一节: 中国天气网
1.1 简介
中国最权威的天气预报网络平台,很多平台实际上也是用的他们的数据。
官方网站:
1.2 地方代码获取方法
前文已经提过
1.3 实时天气接口
接口示例: 失效
返回格式:
{"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 获取当天天气:
失效
返回格式:
weatherinfo":{"city":"北京","cityid":"101010100","temp1":"29℃","temp2":"24℃","weather":"阴转晴","img1":"d2.gif","img2":"n0.gif","ptime":"08:00"}}
注意:其中 img1和img2是天气标志图片,接口格式如下:
这个图就是天气现象0(晴)的图片,其他天气现象的图片依此类推。c打头的图片是2020像素的,b打头的是5046像素的,d打头的是反白的图标, 2920像素,n打头的是夜间反白图标,2920像素,注意这里的文件名是两位数字!
1.5 生活指数:
失效
返回格式: 文字较多,这里省略,请点击访问。
1.6 获取未来几天天气(有效,不保证稳定)
图片路径:
替换方法同上
返回示例:
{"weatherinfo":{"city":"北京","city_en":"beijing","date_y":"2015年2月19日","date":"","week":"星期四","fchh":"18","cityid":"101010100","temp1":"-2℃~4℃","temp2":"-1℃~8℃","temp3":"-3℃~5℃","temp4":"-4℃~6℃","temp5":"-3℃~7℃","temp6":"-1℃~6℃","tempF1":"28.4℉~39.2℉","tempF2":"30.2℉~46.4℉","tempF3":"26.6℉~41℉","tempF4":"24.8℉~42.8℉","tempF5":"26.6℉~44.6℉","tempF6":"30.2℉~42.8℉","weather1":"小雪转雨夹雪","weather2":"小雪转阴","weather3":"晴","weather4":"晴","weather5":"晴","weather6":"阴","img1":"14","img2":"6","img3":"14","img4":"2","img5":"0","img6":"99","img7":"0","img8":"99","img9":"0","img10":"99","img11":"2","img12":"99","img_single":"6","img_title1":"小雪","img_title2":"雨夹雪","img_title3":"小雪","img_title4":"阴","img_title5":"晴","img_title6":"晴","img_title7":"晴","img_title8":"晴","img_title9":"晴","img_title10":"晴","img_title11":"阴","img_title12":"阴","img_title_single":"雨夹雪","wind1":"微风","wind2":"微风转北风4-5级","wind3":"北风4-5级转3-4级","wind4":"北风3-4级转微风","wind5":"微风","wind6":"微风转北风3-4级","fx1":"微风","fx2":"微风","fl1":"小于3级","fl2":"小于3级转4-5级","fl3":"4-5级转3-4级","fl4":"3-4级转小于3级","fl5":"小于3级","fl6":"小于3级转3-4级","index":"冷","index_d":"天气冷,建议着棉服、羽绒服、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣、冬大衣或厚羽绒服。","index48":"","index48_d":"","index_uv":"最弱","index48_uv":"","index_xc":"不宜","index_tr":"适宜","index_co":"较不舒适","st1":"4","st2":"-4","st3":"8","st4":"-2","st5":"5","st6":"-3","index_cl":"较不宜","index_ls":"不宜","index_ag":"极不易发"}}
2. 开放数据 - k780数据
2.1 简介
官方网站:
说明: 数据来自国家气象局天气网,每小时更新一次
免费版有每小时点击次数的限制(免费版最多每小时720次查询)
2.2 获取今日天气
详细说明:
请求示例(xml)
返回实例:
<?xml version="1.0" encoding="utf-8" ?>
- [span class="t">root
[span class="t">success
- [span class="t">result
[span class="t">weaid
[span class="t">days
[span class="t">week
[span class="t">cityno
[span class="t">citynm
[span class="t">cityid
[span class="t">temperature
[span class="t">humidity
[span class="t">weather
[span class="t">weather_icon
[span class="t">weather_icon1
[span class="t">wind
[span class="t">winp
[span class="t">temp_high
[span class="t">temp_low
[span class="t">humi_high
[span class="t">humi_low
[span class="t">weatid
[span class="t">weatid1
[span class="t">windid
[span class="t">winpid
参数说明:其//代码效果参考:http://www.zidongmutanji.com/bxxx/193392.html
中 ,wedid 是城市气象编号,与中国天气网编号一致,key和sign是身份验证,注册一个可以换成自己的,上例中的10003是公众帐号,formt是返回格式,支持 json,xml,除了formt不是必须的以外,其他参数都是必须提供的。比如 我想获得深圳的今日数据:
第一步: 首先查询深圳的城市代码
方法1:通过 查询
方法2:通过 查询,前面已经提到过。
经查询,深圳的地方代码是 101280601
第二步: 通过地方代码获取今日天气
深圳的今天天气数据就是:
2.3 获取未来五天
请求示例(Xml)
返回示例:
<?xml version="1.0" encoding="utf-8" ?>
- [span class="t">root
[span class="t">success
- [span class="t">result
- [span class="t">item_0
[span class="t">weaid
[span class="t">days
[span class="t">week
[span class="t">cityno
[span class="t">citynm
]北京[span class="t">cityid
[span class="t">temperature
[span class="t">humidity
[span class="t">weather
[span class="t">weather_icon
[span class="t">weather_icon1
[span class="t">wind
[span class="t">winp
[span class="t">temp_high
[span class="t">temp_low
[span class="t">humi_high
class="m"][span class="t">humi_low
[span class="t">weatid
[span class="t">weatid1
[span class="t">windid
[span class="t">winpid
- [span class="t">item_1
[span class="t">weaid
[span class="t">days
[span class="t">week
[span class="t">cityno
[span class="t">citynm
[span class="t">cityid
[span class="t">temperature
[span class="t">humidity
[span class="t">weather
[span class="t">weather_icon
[span class="t">weather_icon1
[span class="t">wind
[span class="t">winp
[span class="t">temp_high
[span class="t">temp_low
[span class="t">humi_high
[span class="t">humi_low
[span class="t">weatid
[span class="t">weatid1
[span class="t">windid
[span class="t">winpid
- [span class="t">item_2
[span class="t">weaid