免费的天气预报API–谷歌,雅虎,中央气象台

免费的天气预报API–谷歌,雅虎,中央气象台

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

      
Google Weather API 仅仅支持美国地区使用邮政编码进行查询,比如: 
http://www.google.com/ig/api?hl=zh-cn&weather=94043 
(94043 为 山景城, 美国加州 的邮政编码) 
而除了美国以外的地区须要使用经纬度坐标作为參数才干运行 Google Weather API, 比如: 
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996 
(30670000,104019996 为 成都, 中国大陆 的经纬度坐标)

当然,也可能通行城市名称的汉语拼音来查询,比如:下面是北京的天气

http://www.google.com/ig/api?weather=Beijing

要其他地区的经纬度坐标,能够通过 Google API 提供的国家代码列表及对应的城市经纬度坐标列表能够查询到,下面是 Google API 提供的查询參数: 
http://www.google.com/ig/countries?output=xml&hl=zh-cn 
(查询 Google 所支持的全部国家的代码,并以 zh-cn 中文简体显示) 
http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn

Google开放了一套天气预报API,还是非常好用的。

使用邮政编码(美国)
http://www.google.com/ig/api?hl=zh-cn&weather=94043(加州山景城)

使用经度纬度坐标
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996(成都)

使用通行城市名称
http://www.google.com/ig/api?weather=Beijing&hl=zh-cn(北京)
http://www.google.com/ig/api?weather=Osaka&hl=zh-cn(大阪)

http://www.google.com/ig/api?weather=Beijing&hl=zh(北京)
http://www.google.com/ig/api?weather=Osaka&hl=ja(大阪)

能够查找到哪些国家和城市呢?谷歌也提供了接口。返回的类型也能够依据output參数来指定。
查找国家  http://www.google.com/ig/countries?output=xml&hl=zh-cn (返回xml)
查找城市  http://www.google.com/ig/cities?hl=zh-cn&country=cn (返回json)


有了这些数据,在自己的应用里添�天气预报就不难了。


谷歌的天气预报API。长处在于能够直接获取支持查询天气的国家和城市。而且能够预报4天天气,支持经纬度查询天气(这个能够利用GPS做应用)。

缺点也是惊人的:支持的中国城市比較少。详细有啥能够通过 http://www.google.com/ig/cities?hl=zh-cn&country=cn查询。


 

———————————————————————————————————————————-


雅虎天气API

yahoo天气预报的url是

http://weather.yahooapis.com/forecastrss?w=2151330&u=c(返回的是XML数据)

说说里面參数代表的意思:

參数w相应各个地方在yahoo数据库中的WOEID,如北京的WOEID是2151330,眼下也能够用參数p来取代w,只是官方还是推荐用w,貌似p是计划要被取消的。參数u用于确定温度的单位(c是摄氏度f是华氏度)。对于中国(国外没比較)的天气查询来说,YAHOO相对不管从能查到的地方还是预报的内容都是比較全的。

获取地址编号

地址编号必须是一个WOEID,你能够通过雅虎的天气预报首页查询你须要的地址编号。这个编号在
你想要的那个城市天气预报页的URL中。你也能够通过在首页中输入你的邮政编码查询WOEID。比如,你想查询广州的天气情况,这个城市的天气预报页的URL是 
http://weather.yahooapis.com/forecastrss?p=CHXX0037&u=c,所以它的WOEID是0037.

这里提供一份网上搜索到的雅虎天气预报城市代码:雅虎天气预报城市代码

 雅虎天气开发人员: http://developer.yahoo.com/weather/


长处:也没发现啥非常特别的长处。只是我搜集到的城市代码感觉较全(毕竟没有真正核对过)。

缺点:仅仅能预报两天天气


补充:

能够通过以下的URL来得到WOEID:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22shanghai%22&diagnostics=true

替换url中的城市名,查询到的结果里woeid就是代码。
假设想直接查询能够登陆http://developer.yahoo.com/yql/console/
查询 geo.places 就能够获得。雅虎数据库还能够查到其它有趣的东西。

通过经纬度获取WOEID(没有验证)
http://query.yahooapis.com/v1/public/yql?q=select * from flickr.places where lon=%f and lat=%f and accuracy=6(没有验证)

http://query.yahooapis.com/v1/public/yql?q=select * from geo.places where lon=%f and lat=%f and accuracy=6(没有验证)

———————————————————————————————————————————————



最后介绍的是中央气象台的API:

依据 以下的接口可获得城市天气情况  
http://www.weather.com.cn/data/sk/101010100.html 
http://www.weather.com.cn/data/cityinfo/101010100.html 
http://m.weather.com.cn/data/101010100.html  

返回的是json数据。上面三个url返回的数据是不一样的。详细自己尝试吧。数据非常全,101010100是北京的城市代码,所以还是须要城市代码的。提供一份非常不全的城市代码吧。我搜索非常久得到的。大约有20个左右省份。地区能详细到县城。中央气象台城市代码(不全) rayyu1989分享的较全的APIhttp://dl.vmall.com/c0diylrr6a

中央气象台城市代码http://blog.csdn.net/ztp800201/article/details/10169863

长处:非常具体的信息。我非常喜欢这种数据。


缺点:城市代码不全。。。。假设谁有全的城市代码,麻烦给我一份。


PS:假设要查看天气数据格式或者详细类型。能够直接复制链接到浏览器运行就能看到数据了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118541.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 360天擎卸载方法[通俗易懂]

    360天擎卸载方法[通俗易懂]具体方法如下:1、先找到360天擎软件的安装文件夹,通常是:C:\ProgramFiles(x86)\360\360Safe\EntClient\conf2、先下载我们使有记事本打开目录下的EntBase.dat文件[base]persistent_connetion=closeshow_tip=1net_env=1communication_interval=900[api_frequency]checkupdate=180get_client_tasks=180getconf=

    2022年9月25日
    1
  • java运行机制是什么_JAVA运行机制

    java运行机制是什么_JAVA运行机制这一篇我们来简单理解一下JAVA的运行机制大概可以分为三大部分1.编写程序2.编译程序3.运行程序1.编写程序编写程序就是我们前面说的源代码这些源代码都有特殊的语法例如main函数他是jdk中一个比较特殊的函数他必须要使用特定的语法来编写(在前面加上public等关键字来修饰)源代码就像是程序的灵魂,程序的实现是由源代码来就决定的就像一块橡皮泥,你想把它变成什么样子完成由你来决定2.编译程序…

    2022年7月7日
    31
  • JetBrains PyCharm 2018.3.1 x64 激活码_通用破解码

    JetBrains PyCharm 2018.3.1 x64 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    107
  • 华硕笔记本r414u怎么安装键盘_华硕R414U详细拆机装内存条步骤!

    华硕笔记本r414u怎么安装键盘_华硕R414U详细拆机装内存条步骤!华硕R414U手动拆解安装内存条详细步骤电脑配置不够用,想要自己手动diy,但不同类型的电脑的内部结构都不同,或与会给第一次拆解此型号电脑的小伙伴带来不少麻烦。前几天小编就给自己的电脑加装了一块内存条,今天就和大家分享一下具体的拆解过程;详细步骤见下面。小编拆解的机型是华硕的R414U,这款电脑的自带内存条是集成在主板的,但拆开后发现主板上有预留的扩展内存卡槽的;比较麻烦的是不想其它的电脑在后盖内…

    2022年5月8日
    106
  • CANoe/CANalyzer诊断功能的深入理解以及CAPL诊断编程实现[通俗易懂]

    CANoe/CANalyzer诊断功能的深入理解以及CAPL诊断编程实现[通俗易懂]之前和大家分享了CANoe的基础使用(分析、仿真、测试、诊断),这篇文章将继续深入探讨如何使用CANoe/CANalyzer中的诊断功能。诊断用于在将ECU安装到系统之前或之后配置,维护,支持,控制和扩展ECU,例如,一辆车。诊断通常在请求-响应方案中执行:测试仪(客户端)向…

    2022年6月30日
    76
  • 一文搞懂MySQL索引(清晰明了)[通俗易懂]

    一文搞懂MySQL索引(清晰明了)[通俗易懂]索引是对数据库表中一列或多列的值进行排序的一种结构。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。MySQL中常用的索引结构(索引底层的数据结构)有:B-TREE,B+TREE,HASH等。MySQL的索引有两种分类方式:逻辑分类和物理分类。对于InnoDB和MyISAM而言,主键索引是根据主关键字来构建的B+树存储结构,辅助索引则是根据辅助键来构造的B+树存储结构,彼此的索引树都是相互独立的。

    2022年6月24日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号