php中国天气api接口,免费天气预报API接口使用教程(信息来源权威及时)
本文將介紹兩種免費獲取天氣預報信息的方式(天氣信息來源于國家氣象局,還是比較權威及時的):
(1)JSON 類型接口:
JSON 類型的接口返回的數據又有三種形式,具體各種接口地址以及返回信息形式參見如下:
(1)接口地址:http://www.weather.com.cn/data/sk/101180605.html
返回信息形式:
{"weatherinfo":{"city":"新縣","cityid":"101180605","temp":"31","WD":"北風","WS":"2級","SD":"53%","WSE":"2","time":"15:00","isRadar":"0","Radar":""}}
(2)接口地址:http://www.weather.com.cn/data/cityinfo/101180605.html
返回信息形式:
{"weatherinfo":{"city":"新縣","cityid":"101180605","temp1":"32℃","temp2":"22℃","weather":"晴轉多云","img1":"d0.gif","img2":"n1.gif","ptime":"11:00"}}
(3)接口地址:http://m.weather.com.cn/data/101180605.html
返回信息形式(信息包括近七天的天氣數據):
{"weatherinfo":{"city":"新縣","city_en":"xinxian","date_y":"2012年8月30日","date":"","week":"星期四","fchh":"11","cityid":"101180605","temp1":"32℃~22℃","temp2":"31℃~23℃","temp3":"30℃~23℃","temp4":"29℃~20℃","temp5":"27℃~20℃","temp6":"27℃~21℃","tempF1":"89.6℉~71.6℉","tempF2":"87.8℉~73.4℉","tempF3":"86℉~73.4℉","tempF4":"84.2℉~68℉","tempF5":"80.6℉~68℉","tempF6":"80.6℉~69.8℉","weather1":"晴轉多云","weather2":"晴轉陰","weather3":"陰轉陣雨","weather4":"陣雨","weather5":"大雨轉中雨","weather6":"多云","img1":"0","img2":"1","img3":"0","img4":"2","img5":"2","img6":"3","img7":"3","img8":"99","img9":"9","img10":"8","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":"微風","wind5":"微風","wind6":"微風","fx1":"微風","fx2":"微風","fl1":"小于3級","fl2":"小于3級","fl3":"小于3級","fl4":"小于3級","fl5":"小于3級","fl6":"小于3級","index":"炎熱","index_d":"天氣炎熱,建議著短衫、短裙、短褲、薄型T恤衫、敞領短袖棉衫等清涼夏季服裝。","index48":"炎熱","index48_d":"天氣炎熱,建議著短衫、短裙、短褲、薄型T恤衫、敞領短袖棉衫等清涼夏季服裝。","index_uv":"強","index48_uv":"強","index_xc":"較適宜","index_tr":"適宜","index_co":"較不舒適","st1":"31","st2":"22","st3":"30","st4":"22","st5":"31","st6":"21","index_cl":"較適宜","index_ls":"極適宜","index_ag":"不易發"}}
如何調用以上天氣信息接口呢?
其實調用以上天氣信息接口,對于不同的城市不同的地方是url中的數字部分。以上url部分中的101180605代表是“新縣”這個地方的代碼,以下簡稱為cityid。因此只需要將以上url中數字部分換成相應的cityid即可獲取對應地區的天氣信息了。那么如何獲取各地區的cityid呢?
以“河南省 - 信陽市 - 新縣”為例進行說明:
首先我們需要獲取河南省的cityid,
獲取省級代碼,url地址為:http://www.weather.com.cn/data/list3/city.xml?level=1(注意這個地址打開后可能提示xml文檔錯誤什么什么的,不用管它,直接看該頁面的源代碼,查找對應城市的cityid值即可)
這里我們通過獲取到的數據得到了河南省的cityid為:18,下面我們需要獲取河南省下信陽市的cityid。
獲取城市代碼,這里獲取河南省以下城市的cityid的url地址為:http://www.weather.com.cn/data/list3/city18.xml?level=2
通過以上鏈接我們獲取到了信陽市的cityid為1806,下面我們要獲取信陽市下的新縣的cityid。
獲取區域代碼,同上這里獲取信陽市下所有cityid的url地址為:http://www.weather.com.cn/data/list3/city1806.xml?level=3
通過以上鏈接我們最終得到新縣的cityid為:180605
至此,新縣地區cityid已經獲取到,那么對應的新縣的天氣預報請求rul為:http://m.weather.com.cn/data/101180605.html(注意數字前面的101不可去掉,代表中國的cityid)
(2)XML 類型接口:
獲取全國天氣的請求URL地址:http://flash.weather.com.cn/wmaps/xml/china.xml
這個url獲取的結果列出所有的省的天氣信息,結果信息中的pyName字段是各個省XML的文件名,比如河南省的就是henan,對應的天氣請求URL為:http://flash.weather.com.cn/wmaps/xml/henan.xml
同樣,上述請求將獲取河南省所有市的天氣數據,通過其中的pyName字段同樣可以獲取該市下面所有縣的天氣數據。
數據信息中的tmp1是最低溫度,tmp2是最高溫度。
至此兩種獲取天氣預報的方式就介紹完了,讀者可以根據自己的需要選擇合適的方式獲取天氣預報信息。
總結
以上是生活随笔為你收集整理的php中国天气api接口,免费天气预报API接口使用教程(信息来源权威及时)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 相反数
- 下一篇: diou ciou torch