Revision: 21932
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 24, 2009 09:43 by ginoplusio
Initial Code
function dayadd($days,$date=null , $format="d/m/Y"){ //add days to a date function return date($format,strtotime($days." days",strtotime( $date ? $date : date($format) ))); } function attr($s,$attrname) { //get the attribute value of an html tag preg_match_all('#\s*('.$attrname.')\s*=\s*["|\']([^"\']*)["|\']\s*#i', $s, $x); if (count($x)>=3) return $x[2][0]; return ""; } function doGoogleMeteo($q,$date) { if ($date>dayadd(3,date("Y-m-d"),"Y-m-d"))return ""; // grab google page with meteo query $web_page = file_get_contents( "http://www.google.it/search?q=meteo+" . urlencode($q) ); //parse html to find data, and store them in an array preg_match_all('#<div class=e>(.*)</table>#Us', $web_page, $m); if (count($m)>0) { $p = array(); preg_match_all('#<img([^>]*)?>#Us', $m[0][0], $img); for ($i=0;$i<count($img[0]);$i++) { $tag = str_replace("src=\"/","src=\"http://www.google.it/",$img[0][$i]); $p[dayadd($i,date("Y-m-d"),"Y-m-d")]["title"] = attr($tag,"title"); $p[dayadd($i,date("Y-m-d"),"Y-m-d")]["img"] = attr($tag,"src"); } preg_match_all('#<nobr>(.*)</nobr>#Uis', $m[0][0], $nobr); for ($i=0;$i<count($nobr[1]);$i++) { $temp= explode("|",$nobr[1][$i]); $p[dayadd($i,date("Y-m-d"),"Y-m-d")]["min"] = trim($temp[1]); $p[dayadd($i,date("Y-m-d"),"Y-m-d")]["max"] = trim($temp[0]); } return $p[$date]; } return "nada."; } print_r ( doGoogleMeteo("milano","2009-12-25") ); //Array ( // [title] => Rovesci // [img] => http://www.google.it/images/weather/rain.gif // [min] => -4°C // [max] => 7°C //)
Initial URL
http://www.barattalo.it/2009/12/24/php-meteo-bot-for-google/
Initial Description
This is a mini bot I’ve made for meteo that retrieves informations from italian Google servers about weather forecast of a specified city (not only italian cities).
Initial Title
PHP bot for meteo google
Initial Tags
Initial Language
PHP