天氣預報接口

學習永不止步,誓雪與您共勉

    也許在我們開發的東東里會涉及到一些小的信息,比如像天氣這樣的信息的獲取,國家氣象局提供了三種數據的形式。

那下面拿北京爲例,要想得到有關北京的天氣信息,可以去請求下面的三種接口。

接口爲:

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串的key-value爲:

{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"-1","WD":"西南風","WS":"2級","SD":"43%","WSE":"2","time":"18:30","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}

 

第二種json串的key-value爲:

{"weatherinfo":{"city":"北京","cityid":"101010100","temp1":"-8℃","temp2":"3℃","weather":"晴","img1":"n0.gif","img2":"d0.gif","ptime":"18:00"}}

 

第三種json串的key-value爲:

{"weatherinfo":{"city":"北京","city_en":"beijing","date_y":"2013年1月17日","date":"","week":"星期四","fchh":"18","cityid":"101010100","temp1":"-8℃~3℃","temp2":"-6℃~2℃","temp3":"-3℃~-1℃","temp4":"-5℃~4℃","temp5":"-8℃~2℃","temp6":"-7℃~4℃","tempF1":"17.6℉~37.4℉","tempF2":"21.2℉~35.6℉","tempF3":"26.6℉~30.2℉","tempF4":"23℉~39.2℉","tempF5":"17.6℉~35.6℉","tempF6":"19.4℉~39.2℉","weather1":"晴","weather2":"晴轉陰","weather3":"小雪","weather4":"多雲","weather5":"晴","weather6":"多雲","img1":"0","img2":"99","img3":"0","img4":"2","img5":"14","img6":"99","img7":"1","img8":"99","img9":"0","img10":"99","img11":"1","img12":"99","img_single":"0","img_title1":"晴","img_title2":"晴","img_title3":"晴","img_title4":"陰","img_title5":"小雪","img_title6":"小雪","img_title7":"多雲","img_title8":"多雲","img_title9":"晴","img_title10":"晴","img_title11":"多雲","img_title12":"多雲","img_title_single":"晴","wind1":"微風","wind2":"微風","wind3":"微風","wind4":"微風轉北風3-4級","wind5":"北風3-4級轉微風","wind6":"微風","fx1":"微風","fx2":"微風","fl1":"小於3級","fl2":"小於3級","fl3":"小於3級","fl4":"小於3級轉3-4級","fl5":"3-4級轉小於3級","fl6":"小於3級","index":"冷","index_d":"天氣冷,建議着棉衣、皮夾克加羊毛衫等冬季服裝。年老體弱者宜着厚棉衣或冬大衣。","index48":"冷","index48_d":"天氣冷,建議着棉衣、皮夾克加羊毛衫等冬季服裝。年老體弱者宜着厚棉衣或冬大衣。","index_uv":"弱","index48_uv":"最弱","index_xc":"較適宜","index_tr":"較適宜","index_co":"較不舒適","st1":"2","st2":"-6","st3":"3","st4":"-4","st5":"0","st6":"-4","index_cl":"適宜","index_ls":"基本適宜","index_ag":"極不易發"}}

對於第三種json的key-value信息的意思爲:

城市名,英文名,日期,農曆日期,星期,預報時間,城市代碼,6個預報溫度(華氏溫度,攝氏溫度),6個預報天氣和風力,其餘的就是一些氣象指數,一些供大家參考的穿衣信息等。

 

需要補充的是對於城市的代號爲:

直轄市
 "北京","上海","天津","重慶"
 "101010100","101020100","101030100","101040100"

特別行政區
 "香港","澳門"
 "101320101","101330101"

黑龍江
 "哈爾濱","齊齊哈爾","牡丹江","大慶","伊春","雙鴨山","鶴崗","雞西","佳木斯","七臺河","黑河","綏化","大興安嶺"
 "101050101","101050201","101050301","101050901","101050801","101051301","101051201","101051101","101050401","101051002","101050601","101050501","101050701"
 
吉林
 "長春","延吉","吉林","白山","白城","四平","松原","遼源","大安","通化"
 "101060101","101060301","101060201","101060901","101060601","101060401","101060801","101060701","101060603","101060501"
 
遼寧
 "瀋陽","大連","葫蘆島","盤錦","本溪","撫順","鐵嶺","遼陽","營口","阜新","朝陽","錦州","丹東","鞍山"
 "101070101","101070201","101071401","101071301","101070501","101070401","101071101","101071001","101070801","101070901","101071201","101070701","101070601","101070301"
 
內蒙古
 "呼和浩特","呼倫貝爾","錫林浩特","包頭","赤峯","海拉爾","烏海","鄂爾多斯","通遼"
 "101080101","101081000","101080901","101080201","101080601","101081001","101080301","101080701","101080501"

河北
 "石家莊","唐山","張家口","廊坊","邢臺","邯鄲","滄州","衡水","承德","保定","秦皇島"
 "101090101","101090501","101090301","101090601","101090901","101091001","101090701","101090801","101090402","101090201","101091101"
 
河南
 "鄭州","開封","洛陽","平頂山","焦作","鶴壁","新鄉","安陽","濮陽","許昌","漯河","三門峽","南陽","商丘","信陽","周口","駐馬店"
 "101180101","101180801","101180901","101180501","101181101","101181201","101180301","101180201","101181301","101180401","101181501","101181701","101180701","101181001","101180601","101181401","101181601"
 
山東
 "濟南","青島","淄博","威海","曲阜","臨沂","煙臺","棗莊","聊城","濟寧","菏澤","泰安","日照","東營","德州","濱州","萊蕪","濰坊"
 "101120101","101120201","101120301","101121301","101120710","101120901","101120501","101121401","101121701","101120701","101121001","101120801","101121501","101121201","101120401","101121101","101121601","101120601"
 
山西
 "太原","陽泉","晉城","晉中","臨汾","運城","長治","朔州","忻州","大同","呂梁"
 "101100101","101100301","101100601","101100401","101100701","101100801","101100501","101100901","101101001","101100201","101101101"
 
江蘇
 "南京","蘇州","崑山","南通","太倉","吳縣","徐州","宜興","鎮江","淮安","常熟","鹽城","泰州","無錫","連雲港","揚州","常州","宿遷"
 "101190101","101190401","101190404","101190501","101190408","101190406","101190801","101190203","101190301","101190901","101190402","101190701","101191201","101190201","101191001","101190601","101191101","101191301"
 
安徽
 "合肥","巢湖","蚌埠","安慶","六安","滁州","馬鞍山","阜陽","宣城","銅陵","淮北","蕪湖","毫州","宿州","淮南","池州"
 "101220101","101221601","101220201","101220601","101221501","101221101","101220501","101220801","101221401","101221301","101221201","101220301","101220901","101220701","101220401","101221701"
 
陝西
 "西安","韓城","安康","漢中","寶雞","咸陽","榆林","渭南","商洛","銅川","延安"
 "101110101","101110510","101110701","101110801","101110901","101110200","101110401","101110501","101110601","101111001","101110300"
 
寧夏
 "銀川","固原","中衛","石嘴山","吳忠"
 "101170101","101170401","101170501","101170201","101170301"
 
甘肅
 "蘭州","白銀","慶陽","酒泉","天水","武威","張掖","甘南","臨夏","平涼","定西","金昌"
 "101160101","101161301","101160401","101160801","101160901","101160501","101160701","101050204","101161101","101160301","101160201","101160601"
 
青海
 "西寧","海北","海西","黃南","果洛","玉樹","海東","海南"
 "101150101","101150801","101150701","101150301","101150501","101150601","101150201","101150401"
 
湖北
 "武漢","宜昌","黃岡","恩施","荊州","神農架","十堰","咸寧","襄陽","孝感","隨州","黃石","荊門","鄂州"
"101200101","101200901","101200501","101201001","101200801","101201201","101201101","101200701","101200201","101200401","101201301","101200601","101201401","101200301"
 
湖南
 "長沙","邵陽","常德","郴州","吉首","株洲","婁底","湘潭","益陽","永州","岳陽","衡陽","懷化","韶山","張家界"
 "101250101","101250901","101250601","101250501","101251501","101250301","101250801","101250201","101250701","101251401","101251001","101250401","101251201","101250202","101251101"
 
浙江
 "杭州","湖州","金華","寧波","麗水","紹興","衢州","嘉興","台州","舟山","溫州"
 "101210101","101210201","101210901","101210401","101210801","101210501","101211001","101210301","101210601","101211101","101210701"
 
江西
 "南昌","萍鄉","九江","上饒","撫州","吉安","鷹潭","宜春","新餘","景德鎮","贛州"
 "101240101","101240901","101240201","101240301","101240401","101240601","101241101","101240501","101241001","101240801","101240701"
 
福建
 "福州","廈門","龍巖","南平","寧德","莆田","泉州","三明","漳州"
 "101230101","101230201","101230701","101230901","101230301","101230401","101230501","101230801","101230601"
 
貴州
 "貴陽","安順","赤水","遵義","銅仁","六盤水","畢節","凱里","都勻"
 "101260101","101260301","101260208","101260201","101260601","101260801","101260701","101260501","101260401"
 
四川
 "成都","瀘州","內江","涼山","阿壩","巴中","廣元","樂山","綿陽","德陽","攀枝花","雅安","宜賓","自貢","甘孜州","達州","資陽","廣安","遂寧","眉山","南充"
 "101270101","101271001","101271201","101271601","101271901","101270901","101272101","101271401","101270401","101272001","101270201","101271701","101271101","101270301","101271801","101270601","101271301","101270801","101270701","101271501","101270501"
 
廣東
 "廣州","深圳","潮州","韶關","湛江","惠州","清遠","東莞","江門","茂名","肇慶","汕尾","河源","揭陽","梅州","中山","德慶","陽江","雲浮","珠海","汕頭","佛山"
 "101280101","101280601","101281501","101280201","101281001","101280301","101281301","101281601","101281101","101282001","101280901","101282101","101281201","101281901","101280401","101281701","101280905","101281801","101281401","101280701","101280501","101280800"
 
廣西
 "南寧","桂林","陽朔","柳州","梧州","玉林","桂平","賀州","欽州","貴港","防城港","百色","北海","河池","來賓","崇左"
 "101300101","101300501","101300510","101300301","101300601","101300901","101300802","101300701","101301101","101300801","101301401","101301001","101301301","101301201","101300401","101300201"
 
雲南
 "昆明","保山","楚雄","德宏","紅河","臨滄","怒江","曲靖","思茅","文山","玉溪","昭通","麗江","大理"
 "101290101","101290501","101290801","101291501","101290301","101291101","101291201","101290401","101290901","101290601","101290701","101291001","101291401","101290201"
 
海南
 "海口","三亞","儋州","瓊山","通什","文昌"
 "101310101","101310201","101310205","101310102","101310222","101310212"
 
新疆
 "烏魯木齊","阿勒泰","阿克蘇","昌吉","哈密","和田","喀什","克拉瑪依","石河子","塔城","庫爾勒","吐魯番","伊寧"
 "101130101","101131401","101130801","101130401","101131201","101131301","101130901","101130201","101130301","101131101","101130601","101130501","101131001"
 
西藏
 "拉薩","阿里","昌都","那曲","日喀則","山南","林芝"
 "101140101","101140701","101140501","101140601","101140201","101140301","101140401"
 
臺灣
 "臺北","高雄"
 "101340102","101340201"

若想獲取其他城市的天氣信息,將url後面的數值換成對應的城市的代碼即可。


至於怎樣去請求以上的天氣接口,我想大家應該會吧!要是不會的話建議大家參考一下下面的鏈接地址,僅供參考:http://blog.sina.com.cn/s/blog_6ce9e8870101bu1j.html

下面拿北京爲例子進行解析接口返回json串信息。

$requesturl="http://www.weather.com.cn/data/sk/101010100.html";
$ch = curl_init();
// 設置URL和相應的選項
curl_setopt($ch, CURLOPT_URL, $requesturl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$info=curl_exec($ch);
// 關閉cURL資源,並且釋放系統資源
curl_close($ch);
//對返回的json串進行decode,分解後與下面的數組一起合成json串
$info=json_decode($info,true);
echo mb_convert_encoding($info['weatherinfo']['city'],'gb2312','UTF-8'); 訪問其他信息就很簡單了。


注:轉載請標註來源。
發佈了22 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章