JAVA、PHP、前端、APP、网站开发 - 开发技术学习

开发技术学习 » 编程开发 » php获取中国天气,中国天气插件说明,根据IP获取天气情况

php获取中国天气,中国天气插件说明,根据IP获取天气情况

今天客户端需要获取天气情况,于是查询了一下! 看一下要求: 1、根据客户IP自动获取天气情况; 2、根据客户的资料地区获取天气情况. 现在我们要分析一下我们要解决的问题: 1、自动获取IP和地区名称; 2、通过百度查询所在地区在中国天气网上的编号; 3、获取地区的天气; 4、分析返回的数据。 [php] /** * 天气 * 获取IP、城市 * 百度查找天气网站的ID **/ public function getWeather(){ $ip = get_client_ip();//获取IP $getString = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);//获取地区信息 $city_str = explode(" ", $getString); //dump($city); $city = iconv("GB2312","utf-8",$city_str[5]); $baidu = file_get_contents("http://www.baidu.com/s?wd=".$city."天气");//获取地区在中国天气网的编号 preg_match_all("/.com.cn/weather/(.*).shtml#7d/i", $baidu, $matches); $num = substr($matches[1][0],0,9); echo file_get_contents("http://m.weather.com.cn/data/".$num.".html");//返回json数据 } [/php] [js] { "weatherinfo":{ <!-- 基本信息 --> "city":"福州", "city_en":"fuzhou", "date_y":"2012年5月14日", "date":"", "week":"星期一", "fchh":"08", "cityid":"101230101", <!-- 从今天开始到第六天的每天的天气情况,这里的温度是摄氏温度 --> "temp1":"29℃~23℃","temp2":"26℃~20℃","temp3":"24℃~20℃","temp4":"25℃~20℃","temp5":"24℃~21℃","temp6":"25℃~22℃", <!-- 从今天开始到第六天的每天的天气情况,这里的温度是华氏温度 --> "tempF1":"84.2℉~73.4℉","tempF2":"78.8℉~68℉","tempF3":"75.2℉~68℉","tempF4":"77℉~68℉","tempF5":"75.2℉~69.8℉","tempF6":"77℉~71.6℉", <!-- 天气描述 --> "weather1":"阵雨转中雨","weather2":"中雨转小雨","weather3":"小雨","weather4":"小雨","weather5":"小雨转阵雨","weather6":"阵雨转小雨", <!-- 天气描述图片序号 --> "img1":"3","img2":"8","img3":"8","img4":"7","img5":"7","img6":"99","img7":"7","img8":"99","img9":"7","img10":"3","img11":"3","img12":"7","img_single":"3", <!-- 图片名称 --> "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恤等夏季服装。年老体弱者宜着长袖衬衫和单裤。", <!-- 48小时穿衣指数 --> "index48":"暖","index48_d":"较凉爽,建议着长袖衬衫加单裤等春秋过渡装。年老体弱者宜着针织长袖衬衫、马甲和长裤。", <!-- 紫外线及48小时紫外线 --> "index_uv":"弱","index48_uv":"最弱", <!-- 洗车 --> "index_xc":"不宜", <!-- 旅游 --> "index_tr":"适宜",、 <!-- 舒适指数 --> "index_co":"较不舒适", "st1":"27","st2":"21","st3":"24","st4":"18","st5":"22","st6":"18", <!-- 晨练 --> "index_cl":"较不宜", <!-- 晾晒 --> "index_ls":"不太适宜", <!-- 过敏 --> "index_ag":"不易发" } } [/js] 分析一下: 图片地址:http://m.weather.com.cn/img/b+图片代码+.gif 图片99表示“晴” 中国国家气象局天气预报接口总共提供了三个: 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

站点声明:部分内容源自互联网,为传播信息之用,如有侵权,请联系我们删除。

© Copyright 2011-2024 www.kfju.com. All Rights Reserved.
超级字帖 版权所有。蜀ICP备12031064号