中国气象局提供了三个天气查询的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", //第一天的天气图片代码1
img2: "2", //第一天的天气图片代码2
img3: "7", //第二天的天气图片代码1
img4: "99", //第二天的天气图片代码2
img5: "7",
img6: "99",
img7: "2",
img8: "99",
img9: "7",
img10: "8",
img11: "8",
img12: "2",
img_single: "2"
img_title1: "多云", //第一天的天气图片1的标题
img_title2: "阴", //第一天的天气图片2的标题
img_title3: "小雨", //第二天的天气图片1的标题
img_title4: "小雨", //第二天的天气图片2的标题
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

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

该接口可以应用在微信公众平台,扫描下面的二维码或者搜索公众平台号xiaopihailaotou可以可以关注和体验作者写的微信公众号

城市代码下载地址

查看示例

根据中国气象局提供的API接口实现天气查询的更多相关文章

  1. 【转】根据中国气象局提供的API接口实现天气查询

    本文转载自 老三 的 三叶草 中国气象局提供了三个天气查询的API接口: [1]http://www.weather.com.cn/data/sk/101190101.html [2]http://w ...

  2. PHP调用API接口实现天气查询功能

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

  3. Django FBV CBV以及使用django提供的API接口

    FBV 和 CBV 使用哪一种方式都可以,根据自己的情况进行选择 看看FBV的代码 URL的写法: from django.conf.urls import url from api import v ...

  4. ASP.NET获取百度地图提供的API接口里面的JSON

    思路:开始是想直接在前台获取,但是跨域访问还是有点难度,而且格式必须是josnp格式的,最后嫌麻烦,不得已放弃. 我做的ASP.NET  而这个有自带的解析类,直接引用就行了 先在后台获取到JOSN: ...

  5. springcloud提供开放api接口签名验证

    一.MD5参数签名的方式 我们对api查询产品接口进行优化: 1.给app分配对应的key.secret 2.Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下: a. 按照请求参数 ...

  6. 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等

    微信小程序最近比较热门,再加上自然语义理解也越来越被人关注,于是我想赶赶潮流,做一个小程序试试.想来想去快递查询应该是一种比较普遍的需求. 如果你也在通过自然语言接口做点什么,希望我的这篇博客能帮到你 ...

  7. 如何利用Skyline的TerraExplorer Pro 6.5提供的API接口实现矢量图层数据的动态投影

    Skyline 支持国内常见的地图投影坐标系,包括WGS84.Beijing54.西安80.2000坐标系等,也可以自定义坐标系,比如一些做过参数变换加密的坐标系等. <!DOCTYPE htm ...

  8. api接口写好了?想过(Accept,Content-Type)?返回类型json|xml?

    api接口写好了?想过(Accept,Content-Type)?返回类型json|xml? 起因: - A,B. A调用B提供的api接口. - A:为毛你的接口返回的是xml格式的(浏览器访问)? ...

  9. 伟大的淘宝IP库的API接口竟然提示503挂掉了

    1 淘宝IP库惊现503错误 吃完晚饭,大概6点半了,天色已暗,太阳早就落山了.回到宿舍打开博客一看,傻眼了:博客每篇文章的评论者的地理信息全部处于“正在查询中……”的状态.这神马情况,不会是被淘宝封 ...

随机推荐

  1. <顶>vim快捷键映射Map使用

    问题描述: 使用vim中的快捷键映射map,可以自定义快捷键 问题解决: (1)vim模式 (2)map前缀 (3)删除映射Map (4)使用示例 (5)查看快捷键映射 命令行---:verbose ...

  2. 中国餐馆过程(CRP)

    查如何事先确定聚类簇数目发现的,是对狄利克雷过程的(DP)的一种解释. 假设一个中国餐馆有无限的桌子,第一个顾客到来之后坐在第一张桌子上.第二个顾客来到可以选择坐在第一张桌子上,也可以选择坐在一张新的 ...

  3. 坑人的 try catch finally

    一直以为这样可以关闭 fs, 其实不行 static void Main(string[] args) { FileStream fs = null; try { fs = new FileStrea ...

  4. windows下创建.htaccess文件之讲解

    如果想在Windows操作系统下新增一个.htaccess 文件实现对页面的rewrite,任你如何右点鼠标或者选文件->新增去新增都不会成功的,Windows都会要求给个文件名称.如果你想通过 ...

  5. VC6.0环境安装STLport-5.2.1

    今天安装STLport,网上搜资料安装好久,都不行,因为STLport 的版本不对,我这是STLport-5.2.1新版本. (注意:下面的步骤都在一个cmd里操作,很简单的原因:环境变量啊) 1.首 ...

  6. C# 静态类

    静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享. 探究 public static class StaticTestClass { ; public static void ...

  7. IOS:利用dispatch_once创建单例

    在之前有一篇学习笔记中,记载了一篇如何在OC中实现单例的文章:<IOS学习笔记4—Objective C—创建单例>自苹果引入了Grand Central Dispatch (GCD)(M ...

  8. ***php解析html类库simple_html_dom

    下载地址:https://github.com/samacs/simple_html_dom 一直以来使用php解析html文档树都是一个难题.Simple HTML DOM parser 帮我们很好 ...

  9. 【tyvj】P1049 最长不下降子序列

    时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数 第二行n个数 输出格式 最长不下降子序列的长度 测 ...

  10. untiy 插件工具: 游戏中 策划数据Excel 导出到项目中

    https://github.com/zhutaorun/Excel2Unity,这个项目是直接下载就可以用的, 其中原理和相关的解释 http://blog.csdn.net/neil3d/arti ...