现在有大部分网站都在使用中国天气网数据,以下我只是结合一些我的经验跟大家分享一下。以下有几点是需要注意的:

1、所有页面都是UTF-8格式编号。

2、项和项之间用英文逗号隔开,属性和属性之间有英文坚线隔开。

一、城市数据

中国天气网有自己的一整套从省、市、县地区,只提供到县地区数据。除了省级以外每个市、县地区都会有一个唯一编号,该编号用于获取天气数据的唯一凭证。另外要注意的是虽然地址上提供的是以XML为结尾的文件名,但是实际内容并非XML,因此对于获取的数据需要单独解析。

1、省级数据获取

省级数据直接从:http://www.weather.com.cn/data/listinfo/city.xml

01|北京,02|上海,03|天津,04|重庆,05|黑龙江,06|吉林,07|辽宁,08|内蒙古,09|河北,10|山西,11|陕西,12|山东,13|新疆,14|西藏,15|青海,16|甘肃,17|宁夏,18|河南,19|江苏,20|湖北,21|浙江,22|安徽,23|福建,24|江西,25|湖南,26|贵州,27|四川,28|广东,29|云南,30|广西,31|海南,32|香港,33|澳门,34|台湾

2、市、县级数据获取

市、县级(注:直辖市的市级为自身,县级为区域)的获取是按照前面省级ID从http://www.weather.com.cn/data/listinfo/city{省或市ID}.xml获得。

福建省下的市级数据:

2301|福州,2302|厦门,2303|宁德,2304|莆田,2305|泉州,2306|漳州,2307|龙岩,2308|三明,2309|南平

厦门市下的县级数据:

230201|厦门,230202|同安

比如厦门市的编号为230201并非是用于获取天气数据的编号,还需要再调用一次http://www.weather.com.cn/data/listinfo/city030201.xml得到的数据:

230201|101230201

其中101230201才是用于获取天气预报数据的唯一标识。

二、天气数据

中国天气网提供一整套JSON格式数据,获取地址http://m.weather.com.cn/data/{天气预报数据的唯一标识}.html。

{“weatherinfo”:{“city”:”北京”,”city_en”:”beijing”,”date_y”:”2011年5月8日”,”date”:”辛卯年”,”week”:”星期日”,”fchh”:”11″,”cityid”:”101010100″,”temp1″:”22℃~12℃”,”temp2″:”23℃~11℃”,”temp3″:”26℃~13℃”,”temp4″:”23℃~12℃”,”temp5″:”24℃~13℃”,”temp6″:”25℃~14℃”,”tempF1″:”71.6℉~53.6℉”,”tempF2″:”73.4℉~51.8℉”,”tempF3″:”78.8℉~55.4℉”,”tempF4″:”73.4℉~53.6℉”,”tempF5″:”75.2℉~55.4℉”,”tempF6″:”77℉~57.2℉”,”weather1″:”中雨转小雨”,”weather2″:”阴转晴”,”weather3″:”晴转阴”,”weather4″:”阵雨转晴”,”weather5″:”晴”,”weather6″:”晴”,”img1″:”8″,”img2″:”7″,”img3″:”2″,”img4″:”0″,”img5″:”0″,”img6″:”2″,”img7″:”3″,”img8″:”0″,”img9″:”0″,”img10″:”99″,”img11″:”0″,”img12″:”99″,”img_single”:”8″,”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″:”微风”,”wind3″:”微风”,”wind4″:”微风转北风小于3级”,”wind5″:”北风3-4级转微风”,”wind6″:”微风”,”fx1″:”微风”,”fx2″:”微风”,”fl1″:”小于3级”,”fl2″:”小于3级”,”fl3″:”小于3级”,”fl4″:”小于3级转3-4级”,”fl5″:”3-4级转小于3级”,”fl6″:”小于3级”,”index”:”舒适”,”index_d”:”建议着薄型套装等春秋过渡装。年老体弱者宜着套装。但昼夜温差较大,注意适当增减衣服。”,”index48″:”舒适”,”index48_d”:”建议着薄型套装等春秋过渡装。年老体弱者宜着套装。但昼夜温差较大,注意适当增减衣服。”,”index_uv”:”最弱”,”index48_uv”:”最弱”,”index_xc”:”不宜”,”index_tr”:”一般”,”index_co”:”舒适”,”st1″:”18″,”st2″:”9″,”st3″:”24″,”st4″:”12″,”st5″:”26″,”st6″:”12″,”index_cl”:”不宜”,”index_ls”:”不宜”}}

1、变量名解释

temp{数字}:以date_y为基准未来六天天气情况,以摄氏度为准。

tempF{数字}:跟temp{数字}一样,只不过是以华氏度为准。

weather{数字}:天气现象。

img{数字}:天气现象的图片ID,这里可以从http://m.weather.com.cn/img/c{天气现象图片ID}.gif获取到一组图片。而每两组图片为一个图片标识分别是:白天和黑夜,因此才会有12组图片。

img_title{数字}:天气现象的图片title值。

wind{数字}:风向。

fx{数字}:风力。

最后是一些指数建议的数据。

2、数据更新频率

好像是每天的6、12、18时会更新一次,因此结合自身的情况同步更新。

整体的情况大概这样,希望整理这篇能给您带来方便。最后获取中国天气网数据是需要授权的,建议您在获取数据时先到http://www.weather.com.cn获取授权证明。