标签:http io ar strong 文件 数据 sp div on
中国气象局提供了三个天气查询的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 代表南京(获取城市代码的方法下面会说明)
第三个接口的返回数据示例及说明如下:
- {
- weatherinfo: {
- city: "南京",
- city_en: "nanjing",
- date_y: "2013年9月8日",
- date: "",
- week: "星期日",
- fchh: "18",
- cityid: "101190101",
- temp1: "22℃~30℃",
- temp2: "23℃~29℃",
- temp3: "22℃~28℃",
- temp4: "23℃~30℃",
- temp5: "24℃~28℃",
- temp6: "23℃~28℃",
- tempF1: "71.6℉~86℉",
- tempF2: "73.4℉~84.2℉",
- tempF3: "71.6℉~82.4℉",
- tempF4: "73.4℉~86℉",
- tempF5: "75.2℉~82.4℉",
- tempF6: "73.4℉~82.4℉",
- weather1: "多云转阴",
- weather2: "小雨",
- weather3: "小雨",
- weather4: "阴",
- weather5: "小雨转中雨",
- weather6: "中雨转阴",
- img1: "1",
- img2: "2",
- img3: "7",
- img4: "99",
- img5: "7",
- img6: "99",
- img7: "2",
- img8: "99",
- img9: "7",
- img10: "8",
- img11: "8",
- img12: "2",
- img_single: "2"
- 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: "东风3-4级",
- wind2: "东风3-4级",
- wind3: "北风转东北风3-4级",
- wind4: "东北风3-4级",
- wind5: "东北风转西风3-4级",
- wind6: "西南风转西风3-4级",
- fx1: "东风",
- fx2: "东风",
- fl1: "3-4级",
- fl2: "3-4级",
- fl3: "3-4级",
- fl4: "3-4级",
- fl5: "3-4级",
- fl6: "3-4级",
- index: "热",
- index_d: "天气热,建议着短裙、短裤、短薄外套、T恤等夏季服装。",
- index48: "热",
- index48_d: "天气热,建议着短裙、短裤、短薄外套、T恤等夏季服装。",
- index_uv: "弱",
- index48_uv: "弱",
- index_xc: "不宜",
- index_tr: "适宜",
- index_co: "较舒适",
- st1: "30",
- st2: "20",
- st3: "27",
- st4: "19",
- st5: "26",
- st6: "18",
- index_cl: "较适宜",
- index_ls: "不太适宜",
- index_ag: "极易发"
- }
- }
获取城市代码的方法:
1.首先获取省份列表
http://www.weather.com.cn/data/city3jdata/china.html
这个链接以json格式返回一个包含省份代码和省份名称的数组
- {
- 10101: "北京",
- 10102: "上海",
- .... ,
- 10119: "江苏",
- }
2.通过上面获得的省份代码获取城市列表:
如江苏的城市代码为:10119,通过下面的链接可以获得江苏省的城市列表
http://www.weather.com.cn/data/city3jdata/provshi/10119.html
- {
- 10: "连云港",
- 11: "常州",
- ...
- 01: "南京",
- }
3.获取城市下的区域信息
通过上一步可获取城市代码 如:南京为 01
把01接到第一步获得的省份代码后 获得 1011901 代表江苏省南京市
通过下面的链接可获取江苏省南京市的区域信息,加粗部分为刚刚生成的代码
http://www.weather.com.cn/data/city3jdata/station/1011901.html
- {
- 01: "南京",
- 02: "溧水",
- 03: "高淳",
- 04: "江宁",
- 05: "六合",
- 06: "江浦",
- 07: "浦口"
- }
4.获取区域代码
把上面获得的区域代码如:01(代表南京市区) 接到第三步获得的江苏省南京市的代码 1011901
得到 101190101 代表江苏省南京市南京市区的代码。
这串代码就是我们需要的。
http://m.weather.com.cn/data/101190101.html
放到这个链接里我们就能获得江苏省南京市南京市区的天气信息啦!
下面提供一个我写好的天气查询工具的演示地址和城市代码对照表的sql文件下载地址。
根据中国气象局提供的API接口实现天气查询
标签:http io ar strong 文件 数据 sp div on
原文地址:http://www.cnblogs.com/niit-soft-518/p/3996307.html