博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
免费的天气预报API--谷歌,雅虎,中央气象台
阅读量:4975 次
发布时间:2019-06-12

本文共 2855 字,大约阅读时间需要 9 分钟。

      
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是

(返回的是XML数据)

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

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

获取地址编号

地址编号必须是一个,你能够通过查询你须要的地址编号。这个编号在

你想要的那个城市天气预报页的URL中。你也能够通过在首页中输入你的邮政编码查询WOEID。比如,你想查询广州的天气情况,这个城市的天气预报页的URL是 
,所以它的WOEID是0037.

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

 雅虎天气开发人员: 

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

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

补充:

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

*%20from%20geo.places%20where%20text%3D%22shanghai%22&diagnostics=true

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

通过经纬度获取WOEID(没有验证)
 * from flickr.places where lon=%f and lat=%f and accuracy=6(没有验证)

 * 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个左右省份。地区能详细到县城。 分享的较全的API

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

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

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

转载于:https://www.cnblogs.com/gcczhongduan/p/4387010.html

你可能感兴趣的文章
bzoj2134 单选错位
查看>>
代理模式 (Proxy)
查看>>
Uvalive 7037 The Problem Needs 3D Arrays(最大密度子图)
查看>>
java解答:有17个人围成一圈(编号0~16),从第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止,问此人原来的位置是多少号?...
查看>>
Java多线程
查看>>
10亿美元融资腾讯跟头,Grail要用基因测序做癌症早期筛查
查看>>
Python GIL(Global Interpreter Lock)
查看>>
matlab 卷积公式与矩阵实现
查看>>
检测java string变量是否含有中文
查看>>
JS事件委托
查看>>
Centos7 配置
查看>>
javascript实现减速运动
查看>>
【2019.7.15 NOIP模拟赛 T2】与非树(nand)(树形DP)
查看>>
javascript 提取表单元素生成用于提交的对象(序列化 html 表单)
查看>>
学习Javascript闭包
查看>>
jmeter接口测试----5学生金币充值
查看>>
15-基础-路由-vue-router-to 属性赋值
查看>>
红黑树
查看>>
bzoj4031: [HEOI2015]小Z的房间
查看>>
android开机引导界面的几种实现
查看>>