免費的天氣預報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:假設要查看天氣數據格式或者詳細類型。能夠直接復制鏈接到瀏覽器運行就能看到數據了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM