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