免费的天气预报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:

<a target=_blank target="_blank" href="http://query.yahooapis.com/v1/public/yql?q=select%20" rel="nofollow" style="color: rgb(45, 100, 179); text-decoration: none;">http://query.yahooapis.com/v1/public/yql?q=select%20</a>*%20from%20geo.places%20where%20text%3D%22shanghai%22&diagnostics=true

替换url中的城市名,查询到的结果里woeid就是代码。
如果想直接查询可以登陆<a target=_blank target="_blank" href="http://developer.yahoo.com/yql/console/" rel="nofollow" style="color: rgb(45, 100, 179); text-decoration: none;">http://developer.yahoo.com/yql/console/</a>
查询 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:如果要查看天气数据格式或者具体类型。可以直接复制链接到浏览器执行就能看到数据了。




from:http://blog.csdn.net/ztp800201/article/details/10138295


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值