PHP PHP机器人为meteo谷歌
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP PHP机器人为meteo谷歌相关的知识,希望对你有一定的参考价值。
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
//)
以上是关于PHP PHP机器人为meteo谷歌的主要内容,如果未能解决你的问题,请参考以下文章
此访问者是机器人还是用户? PHP
设计以人为本的机器学习框架
php如何防止网站内容被采集
谷歌机器人爬网通知程序
Azure宕机3个小时:因人为配置DNS失误;Mozilla禁止扩展混淆代码;5月份数据库排行榜发布;PHP 7.3.5发布
php [建立谷歌日历连结]自动产生可以加入谷歌日历的连结#php