`

根据中国气象局提供的API接口实现天气查询

阅读更多

中国气象局提供了三个天气查询的API接口:

【1】http://www.weather.com.cn/data/sk/101190101.html

【2】http://www.weather.com.cn/data/cityinfo/101190101.html

【3】http://m.weather.com.cn/data/101190101.html

以json格式返回数据,第一和第二个接口返回当天实时的天气数据,第三个返回未来五天天气情况。

其中地址里的加粗显示的数字表示城市的代码:101190101 代表南京(获取城市代码的方法下面会说明)

第三个接口的返回数据示例及说明如下:

 

 
  1. {   
  2. weatherinfo: {   
  3. city: "南京",   
  4. city_en: "nanjing",   
  5. date_y: "2013年9月8日",   
  6. date"",   
  7. week: "星期日",   
  8. fchh: "18",   
  9. cityid: "101190101",                     //城市代码   
  10. temp1: "22℃~30℃",                     //第一天(当天)最高喝最低温度(摄氏温度)   
  11. temp2: "23℃~29℃",                     //第二天最高喝最低温度(摄氏温度)   
  12. temp3: "22℃~28℃",                     //第三天最高喝最低温度(摄氏温度)   
  13. temp4: "23℃~30℃",                     //第四天最高喝最低温度(摄氏温度)   
  14. temp5: "24℃~28℃",                     //第五天最高喝最低温度(摄氏温度)   
  15. temp6: "23℃~28℃",                     //第六天最高喝最低温度(摄氏温度)   
  16. tempF1: "71.6℉~86℉",                //第一天(当天)最高喝最低温度(华氏温度)   
  17. tempF2: "73.4℉~84.2℉",             //第二天最高喝最低温度(华氏温度)   
  18. tempF3: "71.6℉~82.4℉",             //第三天最高喝最低温度(华氏温度)   
  19. tempF4: "73.4℉~86℉",                //第四天最高喝最低温度(华氏温度)   
  20. tempF5: "75.2℉~82.4℉",             //第五天最高喝最低温度(华氏温度)   
  21. tempF6: "73.4℉~82.4℉",             //第六天最高喝最低温度(华氏温度)   
  22. weather1: "多云转阴",                    //第一天(当天)天气   
  23. weather2: "小雨",                          //第二天天气   
  24. weather3: "小雨",   
  25. weather4: "阴",   
  26. weather5: "小雨转中雨",   
  27. weather6: "中雨转阴",   
  28. img1: "1",                            //第一天的天气图片代码1   
  29. img2: "2",                            //第一天的天气图片代码2   
  30. img3: "7",                           //第二天的天气图片代码1   
  31. img4: "99",                          //第二天的天气图片代码2   
  32. img5: "7",   
  33. img6: "99",   
  34. img7: "2",   
  35. img8: "99",   
  36. img9: "7",   
  37. img10: "8",   
  38. img11: "8",   
  39. img12: "2",   
  40. img_single: "2"  
  41. img_title1: "多云",                    //第一天的天气图片1的标题   
  42. img_title2: "阴",                       //第一天的天气图片2的标题   
  43. img_title3: "小雨",                    //第二天的天气图片1的标题   
  44. img_title4: "小雨",                    //第二天的天气图片2的标题   
  45. img_title5: "小雨",   
  46. img_title6: "小雨",   
  47. img_title7: "阴",   
  48. img_title8: "阴",   
  49. img_title9: "小雨",   
  50. img_title10: "中雨",   
  51. img_title11: "中雨",   
  52. img_title12: "阴",   
  53. img_title_single: "阴",   
  54. wind1: "东风3-4级",                      //第一天风向范围   
  55. wind2: "东风3-4级",                      //第二天风向范围   
  56. wind3: "北风转东北风3-4级",   
  57. wind4: "东北风3-4级",   
  58. wind5: "东北风转西风3-4级",   
  59. wind6: "西南风转西风3-4级",   
  60. fx1: "东风",   
  61. fx2: "东风",   
  62. fl1: "3-4级",                                     //第一天风级范围                        
  63. fl2: "3-4级",   
  64. fl3: "3-4级",   
  65. fl4: "3-4级",   
  66. fl5: "3-4级",   
  67. fl6: "3-4级",   
  68. index: "热",                                                                                //二十四小时穿衣指数   
  69. index_d: "天气热,建议着短裙、短裤、短薄外套、T恤等夏季服装。",  //建议   
  70. index48: "热",                                                                           //四十八小时穿衣指数   
  71. index48_d: "天气热,建议着短裙、短裤、短薄外套、T恤等夏季服装。"//建议   
  72. index_uv: "弱",                              //二十四小时紫外线   
  73. index48_uv: "弱",                          //四十八小时紫外线   
  74. index_xc: "不宜",                           //洗车   
  75. index_tr: "适宜",                           //旅游   
  76. index_co: "较舒适",                       //舒适度   
  77. st1: "30",   
  78. st2: "20",   
  79. st3: "27",   
  80. st4: "19",   
  81. st5: "26",   
  82. st6: "18",   
  83. index_cl: "较适宜",                        //晨练   
  84. index_ls: "不太适宜",                     //晾晒   
  85. index_ag: "极易发"                        //过敏   
  86. }   
  87. }  

 

获取城市代码的方法:

1.首先获取省份列表

http://www.weather.com.cn/data/city3jdata/china.html

这个链接以json格式返回一个包含省份代码和省份名称的数组

  1. {   
  2. 10101"北京",   
  3. 10102"上海",   
  4. ....   ,
  5. 10119: "江苏",
  6. }  

2.通过上面获得的省份代码获取城市列表:

如江苏的城市代码为:10119,通过下面的链接可以获得江苏省的城市列表

http://www.weather.com.cn/data/city3jdata/provshi/10119.html

 
  1. {   
  2. 10"连云港",   
  3. 11"常州",   
  4. ...   
  5. 01: "南京",
  6. }  

3.获取城市下的区域信息

通过上一步可获取城市代码 如:南京为 01

把01接到第一步获得的省份代码后 获得 1011901 代表江苏省南京市

通过下面的链接可获取江苏省南京市的区域信息,加粗部分为刚刚生成的代码

http://www.weather.com.cn/data/city3jdata/station/1011901.html

 
  1. {   
  2. 01"南京",   
  3. 02"溧水",   
  4. 03"高淳",   
  5. 04"江宁",   
  6. 05"六合",   
  7. 06"江浦",   
  8. 07"浦口"  
  9. }  

4.获取区域代码

把上面获得的区域代码如:01(代表南京市区) 接到第三步获得的江苏省南京市的代码 1011901

得到 101190101 代表江苏省南京市南京市区的代码。

这串代码就是我们需要的。

http://m.weather.com.cn/data/101190101.html

放到这个链接里我们就能获得江苏省南京市南京市区的天气信息啦!

下面提供一个我写好的天气查询工具的演示地址和城市代码对照表的sql文件下载地址。

分享到:
评论

相关推荐

    Spring Boot项目:使用第三方天气API接口实现天气预报功能 weather.zip

    Spring Boot项目:使用第三方天气API接口实现天气预报功能;使用redis缓存数据库进行数据缓存 接口示例:http://t.weather.sojson.com/api/weather/city/101010100

    权威天气API (中国天气网)使用整理

    在使用中国天气网API时,你可以根据项目需求选择适合的数据格式。 API调用通常遵循HTTP协议,通过发送GET或POST请求到特定的URL,携带必要的参数。对于中国天气网的API,我们需要提供城市编码作为查询参数,例如,...

    JS,jquery调用天气预报api接口

    本教程将详细讲解如何利用jQuery的AJAX功能调用天气预报API接口,以获取并展示实时天气信息。 首先,我们需要理解什么是API。API(Application Programming Interface)是应用程序接口,它允许不同的软件应用之间...

    java使用中央气象局接口demo

    项目使用webservice的方式调用了中央气象局的气象接口,该demo可以满足工作或学习中的大部分需求。

    PHP调用API接口实现天气查询功能的示例

    天气预报查询接口API,在这里我使用的是国家气象局天气预报接口 使用较多的还有:新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等。 1、查询方式 根据地名查询各城市天气情况 2.请求URL地址...

    jQuery全国城市天气预报API查询代码

    开发者可以通过简单的API调用来实现对全国城市天气的查询功能,为网页应用添加实时气象信息,提高用户体验。 该代码的核心是利用jQuery库进行DOM操作,通过Ajax异步请求天气预报API,获取数据后动态更新页面内容。...

    中国气象网天气查询

    1. **天气查询API接口**:应用通过调用中国气象网提供的开放API来获取天气数据。这些API通常会返回包含温度、湿度、风向、风力等关键气象指标的数据。为了确保数据的准确性,开发者需要理解和正确使用API的调用规则...

    中国天气网接口城市天气编码资料

    在中国天气网接口中,城市天气编码是一个重要的概念,它用于标识和检索特定城市的实时或预测天气信息。这个编码系统使得开发者能够通过API调用来获取全国各地的气象数据,从而为用户提供精准的天气服务。本文将详细...

    免费天气预报 WebService 接口

    本文将详细介绍一个免费提供的天气预报 WebService 接口,该接口由上海思集信息科技有限公司提供。此接口旨在帮助开发者快速集成天气预报功能到自己的应用中,并且支持免费用户使用。对于希望在应用程序中加入天气...

    百度API全国城市地区天气查询代码.zip

    1. **百度API**:百度开放平台提供了一系列API接口,其中包括天气查询接口。开发者可以通过调用这些接口,获取到全国各城市的天气数据。使用API时,需要遵循其文档规定,正确设置请求参数和接收返回的JSON或XML格式...

    基于百度接口的天气预报

    百度是中国的一个大型互联网公司,提供了多种API(应用程序编程接口)供开发者使用。在这个案例中,我们使用的可能是百度地图开放平台的气象服务接口。通过调用这些接口,我们可以获取到全国各地的天气数据,包括...

    基于高德地图获取当地空气质量与天气

    高德地图作为中国主流的地图服务提供商之一,提供了丰富的API接口供开发者使用。本项目"基于高德地图获取当地空气质量与天气"正是利用了这些接口来实现相关功能。 首先,我们需要了解高德地图JavaScript API。这个...

    MVC4 根据IP查询天气

    VS2012,MVC4. 根据客户端IP自动查询当前天气,调用的是国家气象局公开的天气查询接口.内附"常用IP查询接口地址.docx","国家气象局免费天气预报接口API.docx"及天气查询代码.

    天气预报接口,通过sax 解析接口数据

    首先,天气预报接口是一个API(Application Programming Interface),它提供了获取当前或未来天气信息的途径。这些接口通常由气象服务机构提供,开发者可以通过调用特定的URL,并附带必要的参数(如城市名、日期等...

    Android天气预报(中国气象网)

    【Android天气预报(中国气象网)】是一款基于Android平台的应用程序,它允许用户查询和获取中国各地的实时天气信息,这些信息来源于中国气象网。这款应用可能是由开发者使用Java或Kotlin编程语言编写的,结合了网络...

    java天气查询接口;有丰富的信息返回,不需要申请额外的key

    3. **百度天气接口**:百度是中国领先的互联网技术公司,其提供的天气接口提供了实时、准确的气象数据。这些数据包括但不限于日期、温度、空气质量、风向等,涵盖了用户可能需要的多种天气信息。 4. **API调用**:...

    VC实现天气预报

    【标题】"VC实现天气预报" 是一个使用Visual C++(简称VC)开发的应用程序,目的是获取并展示来自中国天气网或中央气象台的实时天气信息。通过调用气象台提供的API(应用程序接口),该程序可以获取到最新的天气数据...

    html获取天气预报

    HTML获取天气预报是一...综上所述,HTML获取天气预报涉及HTML基础、API接口调用、数据解析、前端交互等多个技术层面。通过掌握这些知识点,开发者可以创建出一个实用且美观的天气预报模块,为用户提供实时的天气信息。

    开源天气预备常用的接口及资料

    常用的天气开源 API。包括 新浪天气接口、中国气象局天气接口。

Global site tag (gtag.js) - Google Analytics