中国天气网AIP:http://smart.weather.com.cn/wzfw/smart/index.shtml

转自:http://blog.163.com/yuanzhf_2012/blog/static/2112011482012929454663/

今天突然要做一个天气预报的应用,上网搜了一下,发现可用的api其实挺多的,包括谷歌、雅虎、中央气象台等等。

谷歌的天气预报的优点在于可以直接获取支持查询天气的国家和城市。并且可以预报4天天气,支持经纬度查询天气(这个可以利用GPS做应用)。缺点也是惊人的:支持的中国城市比较少。
雅虎的天气预报返回的是xml数据,我需要的是json数据,所以也没什么好感。
最终还是决定使用中央气象台的。中央喔,好像很牛B的样子。
该api获取天气的接口如下:
http://www.weather.com.cn/data/sk/101281601.html 
http://www.weather.com.cn/data/cityinfo/101281601.html 
http://m.weather.com.cn/data/101281601.html  
3种返回的数据稍微有些不同,至于使用哪一种,看个人喜欢吧~~

值得说明的是101281601是城市在中央气象台数据库中城市码,获取的方法有些麻烦,有以下几个步骤:

1. 通过 http://m.weather.com.cn/data5/city.xml 获取省份列表;
2. 通过 http://m.weather.com.cn/data5/city28.xml 获取该省份的城市列表,其中28为广东省代号,1中所返回的;
3. 通过 http://m.weather.com.cn/data5/city2816.xml 获取该城市的区列表,其中2816为东莞市代号,2中所返回的;
4. 通过 http://m.weather.com.cn/data5/city281601.xml 获取最后的城市码,其中281601为3中返回;
5. 通过 api获取天气信息;
值得注意的使,上述的这些列表信息虽然文件后缀名未xml,但是里面只是一条字符串,不符合xml的格式,所以,直接用浏览器打开,会显示xml解释出错。。。。
现在需要做的是获取所有城市的城市码,csdn其实有人上传了,不过俺是穷人,下载不了。所以只能自己获取。。。想了一下,其实挺简单的,写个脚本遍历一下所有城市码并存入数据库或者写到文件就行了。
下面是我用php写的脚本:
然后在终端或者浏览器执行就可以了。
受到网速的影响,数据获取过程可能有点慢。
我的mysql数据库备份已经放到163公共邮箱:
账号:forecast_weather@163.com
密码:weather
不想自己获取数据的娃,直接下载吧。。。

利用中央气象台的天气预报API实现天气预报相关推荐

  1. java 利用新浪天气API获取天气预报

    新浪为我们提供了天气预报获取接口API  http://php.weather.sina.com.cn/xml.php?city=武汉&password=DJOYnieT8234jlsK&am ...

  2. 从历史天气预报 API 看气象大数据的商业价值

    引言 近年来,随着气象观测技术的不断提升和气象大数据的快速发展,越来越多的企业开始将气象数据应用于商业领域.其中,历史天气预报 API 作为一种可获取历史气象数据的接口,具有广泛的商业应用价值. 本文 ...

  3. 中央气象台天气预报api调用

    今天突然要做一个天气预报的应用,上网搜了一下,发现可用的api其实挺多的,包括谷歌.雅虎.中央气象台等等. 谷歌的天气预报的优点在于可以直接获取支持查询天气的国家和城市.并且可以预报4天天气,支持经纬 ...

  4. 免费的天气预报API接口--谷歌,雅虎,中央气象台

    Google Weather API  仅仅支持美国地区使用邮政编码进行查询 比如: http://www.google.com/ig/api?hl=zh-cn&weather=94043  ...

  5. Py:利用pickle模块和API天气接口实现输入城市得到该城市的天气预报

    Py:利用pickle模块和API天气接口实现输入城市得到该城市的天气预报 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -*- ''' Created on ...

  6. Android访问中央气象台的天气预报API得到天气数据

    在用Android获取天气预报数据时,大家一定会首先想到Google的天气预报API,其实除了Google的天气预报API,免费的天气预报接口还有http://www.webservicex.net/ ...

  7. 什么是天气预报 API 接口?如何获取天气预报 API?

    什么是天气预报API接口? 天气的好坏和人们的生活.工作息息相关,每天的天气如何?总是牵动着人们的心,关注天气就行了人们茶余饭后的话题了.如何获得准确的天气预报?还得从天气预报API接口说起. 天气预 ...

  8. 百度天气预报API接口的一个坑

    由于疫情的关系不能出门,所以在家学习微信小程序的开发,利用百度天气预报API接口来获取天气数据,折腾了一天,总是获取不到天气数据,搞得我一头雾水... 今天我下载了百度的demo程序,利用里面提供的J ...

  9. 如何用全国天气预报API接口进行快速开发

    最近公司项目有一个全国天气预报的小需求,想着如果用现成的API就可以大大提高开发效率,在网上的API商店搜索了一番,发现了 APISpace,它里面的全国天气预报API非常符合我的开发需求. 全国天气 ...

最新文章

  1. java的scanner用法_Java Scanner用法详解
  2. Oracle to_char函数的使用方法
  3. AndroidWidget实践 --- EverydayTips开发(6)
  4. 【数据结构与算法】之深入解析“旋转链表”的求解思路与算法示例
  5. Oracle DB优化
  6. Golang实践录:使用gin框架实现转发功能:管理后端服务
  7. Android入门之简单拨号器
  8. 推荐《Office SharePoint Server 2007案例实战开发》
  9. DEDE织梦标签名称:{/dede:arclist} 详解
  10. 软著申请合作开发协议模板
  11. python selenium 点击加载更多_Python Selenium 疑难杂症解方(三): 点击
  12. Excel2010无法保存提示检测到错误
  13. Win10系统下Microsoft Office (Excel, word等)无法保存的问题
  14. mysql 中间件 atlas_MySQL中间件-Atlas
  15. 东信社保卡医保卡底层指令通讯协议(支持单片机、Linux、ARM等嵌入式系统使用)
  16. 如何鉴别主力是在出货还是洗盘?
  17. markdown设置图片相对路径显示
  18. 【闪聚支付项目】项目总结
  19. 一阶rc matlab,matlab – 一阶RC滤波器的时间离散实现
  20. 动态磁盘导致无法进入Mac系统的解决办法

热门文章

  1. Sherlock视觉,支持任意相机,我们是专业Sherlock视觉 sherlock支持二次开发,同时也支持 VB,VC,C#的界面封装
  2. 文科计算机有哪些专业,计算机有哪些专业
  3. excel满足其中任何一个条件的筛选
  4. 铁甲雄心——机器人商用的求生之路
  5. seat TCC 实战(图解_秒懂_史上最全)
  6. 日期选择器 当前日期之前不允许选择
  7. SCM和NVM是什么鬼,与NVMe是什么关系?
  8. 了解GAC:从“找不到Microsoft.SqlServer.SqlClrProvider.dll”的问题开始
  9. WORD插入VSD绘图文件
  10. 运营商IMS网间互联互通组网关键技术研究