天气预报、查询API接口大全
2021-02-14 11:16
目录:
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是天气标志图片,接口格式如下:
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 version="1.0" encoding="utf-8" ?>
参数说明:其中 ,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 version="1.0" encoding="utf-8" ?>
转换方法与前面类似,这里就不需要重复了。
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
返回示例:
- xml version="1.0" encoding="UTF-8" ?>
- -
-
北京 -
16:05 -
28 -
2级 -
66% -
东风 -
05:10 -
19:31 -
/> -
/> - -
- 186
-
140 -
...适量减少户外运动 -
中度污染 -
颗粒物(PM2.5) -
142 -
2 -
0 -
4 -
24 - -
-
29日星期二 -
高温 29℃ -
低温 22℃ - -
-
中雨 -
微风 -
小于3级 - -
-
中雨 -
微风 -
小于3级 - -
- -
-
30日星期三 -
高温 29℃ -
低温 24℃ - -
-
阴 -
微风 -
小于3级 - -
-
晴 -
微风 -
小于3级 - -
-
31日星期四 -
高温 31℃ -
低温 24℃ - -
-
晴 -
微风 -
小于3级 - -
-
晴 -
微风 -
小于3级 - &