Java實現抓取相應地區中央天氣預報

來源:互聯網
上載者:User

先:程式一開始運行預設的是顯示本地的天氣(介面好難看咯)當擷取本地地址失敗的時候,程式預設顯示北京的天氣,可以在上面的下拉式清單裡面選擇相應的城市來擷取相應城市的天氣。全國各地區都是有編碼的,所以當你在下拉式清單裡面選擇相關的地方時,程式將會得到相關地區的編碼,然後根據編碼組成相應的URL地址,以這個URL地址擷取到相關的天氣資訊。當然中央天氣網站提供了一個API供我們調用,如下

http://xoap.weather.com/weather/local/CHXX0138?cc=*&unit=m&dayf=2&link=xoap&prod=xoap&par=1220552427&key=c168fcf83120f8ed

 

CHXX0138 為武漢的天氣代碼

Unit=m 溫度以攝氏度顯示;去掉該參數,溫度以華氏度顯示

Dayf為0,1返回當天天氣,其他數字為多天天氣,最大可為5,返回當天及往後4天的天氣預報

Par為註冊時返回的Partner ID: 1220552427

Key為註冊時返回的License Key: c168fcf83120f8ed


上面的調用要求我們需要知道相應地區的代碼這樣才能擷取到天氣資訊,擷取到的是XML檔案,剩下的就是分析這個XML檔案,擷取到天氣資訊。


當然新浪、雅虎網站也為我們提供了API,介面如下

新浪天氣預報API

http://php.weather.sina.com.cn/xml.php?city=武漢&password=DJOYnieT8234jlsK&day=0

其中,city後的城市可用java.net.URLEncoder.encode(“武漢”,” gb2312”);也可以直接寫”武漢”;但不能用”wuhan”。

Password固定

Day為0表示當天天氣,1表示第二天的天氣,2表示第三天的天氣,以此類推,最大為4

返回XML檔案,也需要分析XML檔案。


yahoo天氣預報

http://xml.weather.yahoo.com/forecastrss?w=2163866&u=c

w對應各個地方在yahoo資料庫中的WOEID,如北京的WOEID是2151330;武漢為2163866;

u 為溫度的單位,c表示攝氏度;f表示華氏度

另附全國主要城市的編碼

北京CHXX0008 
哈爾濱CHXX0046 
長春CHXX0010 
瀋陽CHXX0119 
大連CHXX0019 
天津CHXX0133 
呼和浩特CHXX0249 
烏魯木齊CHXX0135 
西寧CHXX0236 
銀川CHXX0259 
蘭州CHXX0079 
西安CHXX0141 
拉薩CHXX0080 
成都CHXX0016 
重慶CHXX0017 
貴陽CHXX0039 
昆明CHXX0076 
太原CHXX0129 
石家莊CHXX0122 
濟南CHXX0064 
青島CHXX0110 
鄭州CHXX0165 
合肥CHXX0448 
南京CHXX0099 
徐州CHXX0037 
上海CHXX0116 
武漢CHXX0138 
長沙CHXX0013 
南昌CHXX0097 
杭州CHXX0044 
福州CHXX0031 
廈門CHXX0140 
南寧CHXX0100 
桂林CHXX0434 
海口CHXX0502 
廣州CHXX0037 
香港CHXX0049 
澳門CHXX0512 
台北TWXX0021 
高雄TWXX0013 
台南TWXX0020

需要全部城市的地區編碼
點擊進入 下載(不需要積分)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.