您的位置:首页 > 其它

天气预报接口

2013-09-30 18:20 387 查看
学习永不止步,誓雪与您共勉

    也许在我们开发的东东里会涉及到一些小的信息,比如像天气这样的信息的获取,国家气象局提供了三种数据的形式。

那下面拿北京为例,要想得到有关北京的天气信息,可以去请求下面的三种接口。

接口为:

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'); 访问其他信息就很简单了。

注:转载请标注来源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  天气预报接口