查询天气预报的接口范例

中央气象台对外提供了一个查询天气预报的接口,通过该接口可以查询到县区一级的天气信息。获取天气信息的方法如下:

1、获取省份信息

Java代码 收藏代码
  1. publicstaticStringgetCityCode(Stringurl){
  2. try{
  3. HttpClienthttpClient=newHttpClient();
  4. GetMethodmothod=newGetMethod(url);
  5. mothod.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
  6. intstatusCode=httpClient.executeMethod(mothod);
  7. if(statusCode==HttpStatus.SC_OK){
  8. returnmothod.getResponseBodyAsString();
  9. }
  10. }catch(Exceptionex){
  11. ex.printStackTrace();
  12. }
  13. returnnull;
  14. }
  15. StringprovinceUrl="http://m.weather.com.cn/data5/city.xml";
  16. StringprovinceData=getCityCode(provinceUrl);
  17. String[]provinceArray=provinceData.split(",");
  18. for(Stringprovince:provinceArray){
  19. String[]provinceCodeArray=province.split("\\|");
  20. System.out.println(provinceCodeArray[0]+","+provinceCodeArray[1]);
  21. }

结果类似如下: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、获取市信息

Java代码 收藏代码
  1. privatestaticvoidgenerateCityCode(OutputStreamWriterwriter,StringprovinceCode)throwsIOException{
  2. StringtownUrl="http://m.weather.com.cn/data5/city"+provinceCode+".xml";
  3. StringtownData=getCityCode(townUrl);
  4. String[]townArray=townData.split(",");
  5. for(Stringtown:townArray){
  6. String[]townCodeArray=town.split("\\|");
  7. System.out.println(""+townCodeArray[0]+","+townCodeArray[1]);
  8. }
  9. }

结果类似如下:2801|广州,2802|韶关,2803|惠州,2804|梅州,2805|汕头,2806|深圳,2807|珠海,2808|佛山,2809|肇庆,2810|湛江,2811|江门,2812|河源,2813|清远,2814|云浮,2815|潮州,2816|东莞,2817|中山,2818|阳江,2819|揭阳,2820|茂名,2821|汕尾

3、获取县区信息及其城市代码

Java代码 收藏代码
  1. privatestaticvoidgenerateCountyCode(OutputStreamWriterwriter,
  2. StringprovinceCode,StringtownCode)throwsIOException{
  3. StringcountyUrl="http://m.weather.com.cn/data5/city"+townCode+".xml";
  4. StringcountyData=getCityCode(countyUrl);
  5. String[]countyArray=countyData.split(",");
  6. for(Stringcounty:countyArray){
  7. String[]countyCodeArray=county.split("\\|");
  8. System.out.println(""+countyCodeArray[0]+","+countyCodeArray[1]);
  9. //城市代码
  10. StringcodeUrl="http://m.weather.com.cn/data5/city"+countyCodeArray[0]+".xml";
  11. StringcodeData=getCityCode(codeUrl);
  12. String[]codeArray=codeData.split("\\|");
  13. System.out.println(codeArray[1]);
  14. }
  15. }

结果类似如下:280101|广州,280102|番禺,280103|从化,280104|增城,280105|花都

4、获取天气预报信息

Java代码 收藏代码
  1. privatestaticvoidgetWeather(Stringcityid){
  2. try{
  3. Stringurl="http://m.weather.com.cn/data/"+cityid+".html";
  4. StringjsonString=getCityCode(url);
  5. System.out.println(jsonString);
  6. }catch(Exceptionex){
  7. ex.printStackTrace();
  8. }
  9. }

结果类似如下:

Js代码 收藏代码
  1. {"weatherinfo":{"city":"广州","city_en":"guangzhou","date_y":"2012年3月1日","date":"","week":"星期四","fchh":"08","cityid":"101280101","temp1":"18℃~12℃","temp2":"24℃~16℃","temp3":"24℃~19℃","temp4":"24℃~18℃","temp5":"22℃~18℃","temp6":"22℃~15℃","tempF1":"64.4℉~53.6℉","tempF2":"75.2℉~60.8℉","tempF3":"75.2℉~66.2℉","tempF4":"75.2℉~64.4℉","tempF5":"71.6℉~64.4℉","tempF6":"71.6℉~59℉","weather1":"小雨转雾","weather2":"雾","weather3":"雾转小雨","weather4":"阵雨转中到大雨","weather5":"中到大雨转中雨","weather6":"阵雨","img1":"7","img2":"18","img3":"18","img4":"99","img5":"18","img6":"7","img7":"3","img8":"22","img9":"22","img10":"8","img11":"3","img12":"99","img_single":"7","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":"微风","wind5":"微风","wind6":"微风","fx1":"微风","fx2":"微风","fl1":"小于3级","fl2":"小于3级","fl3":"小于3级","fl4":"小于3级","fl5":"小于3级","fl6":"小于3级","index":"舒适","index_d":"建议着薄型套装或牛仔衫裤等春秋过渡装。年老体弱者宜着套装、夹克衫等。","index48":"暖","index48_d":"建议着长袖衬衫加单裤等春秋过渡装。年老体弱者宜着针织长袖衬衫、马甲和长裤。","index_uv":"最弱","index48_uv":"最弱","index_xc":"不宜","index_tr":"适宜","index_co":"舒适","st1":"18","st2":"13","st3":"25","st4":"16","st5":"25","st6":"20","index_cl":"较不宜","index_ls":"不宜","index_ag":"极易发"}}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值