'yes'),$atts));
$fh = fopen(site_url() ."/mylogs.txt", "r");
$contents = "";
while(!feof($fh)){
$contents .= fread($fh, 8080);
}
fclose($fh);
$str = "";
$showtime=date("md");
if($text == "yes") {
$str.= "当天蜘蛛爬行记录:";
$str.= "
以下为国内常用蜘蛛。
";
}
$mytmp = array();
//google
$google = 0;
if($text == "yes")
$str.= "Google Spider: ";
$mytmp = show_spider_result($showtime,$contents,"Googlebot\/",$text);
$google += $mytmp[0];
$str.= $mytmp[1];
$mytmp = show_spider_result($showtime,$contents,"Googlebot-Image\/",$text);
$google += $mytmp[0];
$str.= $mytmp[1];
$mytmp = show_spider_result($showtime,$contents,"Googlebot-Mobile\/",$text);
$google += $mytmp[0];
$str.= $mytmp[1];
$mytmp = show_spider_result($showtime,$contents,"Feedfetcher-Google",$text);
$google += $mytmp[0];
$str.= $mytmp[1];
// baidu
$baidu = 0;
if($text == "yes")
$str.= "
Baidu Spider: ";
$mytmp = show_spider_result($showtime,$contents,"Baiduspider\/",$text);
$baidu += $mytmp[0];
$str.= $mytmp[1];
$mytmp = show_spider_result($showtime,$contents,"Baiduspider-image",$text);
$baidu += $mytmp[0];
$str.= $mytmp[1];
//bing
$bing = 0;
if($text == "yes")
$str.= "
bingbot Spider: ";
$mytmp = show_spider_result($showtime,$contents,"bingbot\/",$text);
$bing += $mytmp[0];
$str.= $mytmp[1];
$mytmp = show_spider_result($showtime,$contents,"msnbot-media\/",$text);
$bing += $mytmp[0];
$str.= $mytmp[1];
//sogou
$sogou = 0;
if($text == "yes")
$str.= "
Sogou Spider: ";
$mytmp = show_spider_result($showtime,$contents,"Sogou web spider\/",$text);
$sogou += $mytmp[0];
$str.= $mytmp[1];
//soso
$soso = 0;
if($text == "yes")
$str.= "
Soso Spider: ";
$mytmp = show_spider_result($showtime,$contents,"Sosospider\/",$text);
$soso += $mytmp[0];
$str.= $mytmp[1];
if($text == "yes")
$str.= "以下为垃圾蜘蛛,可屏蔽抓取。
";
//jike
$else = 0;
if($text == "yes")
$str.= "Jike Spider: ";
$mytmp = show_spider_result($showtime,$contents,"JikeSpider",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
//easou
if($text == "yes")
$str.= "
Easou Spider: ";
$mytmp = show_spider_result($showtime,$contents,"EasouSpider",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
//yisou
if($text == "yes")
$str.= "
YisouSpider:";
$mytmp = show_spider_result($showtime,$contents,"YisouSpider",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
if($text == "yes")
$str.= "
YandexBot Spider: ";
$mytmp = show_spider_result($showtime,$contents,"YandexBot\/",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
if($text == "yes")
$str.= "
Mail.RU Spider: ";
$mytmp = show_spider_result($showtime,$contents,"Mail.RU_Bot\/",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
if($text == "yes")
$str.= "
AcoonBot Spider: ";
$mytmp = show_spider_result($showtime,$contents,"AcoonBot\/",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
if($text == "yes")
$str.= "
Exabot Spider: ";
$mytmp = show_spider_result($showtime,$contents,"Exabot\/",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
if($text == "yes")
$str.= "
spbot Spider: ";
$mytmp = show_spider_result($showtime,$contents,"spbot\/",$text);
$else += $mytmp[0];
$str.= $mytmp[1];
$str.= draw_canvas($google,$baidu,$bing,$sogou,$soso,$else);
return $str;
}
function show_spider_result($time,$contents,$str,$text){
$count = array();
$count[0] = preg_match_all("/".$time."\d*\s\/\S*\s.*".$str."/",$contents,$mymatches);
if($text == "yes") {
$str = preg_replace("{\\\/}","",$str);
$count[1].= "
蜘蛛类型=>".$str.": 爬行次数=".$count[0];
if($count[0] >0) {
$tmp = substr($mymatches[0][$count[0]-1],4,6);
$tmp = substr($tmp,0,2) .":" . substr($tmp,2,2) .":" .substr($tmp,4,2) ;
$count[1].= " 最后爬行时间:". $tmp;
}
}
return $count;
}
function draw_canvas($google,$baidu,$bing,$sogou,$soso,$else){
$tmp = $google + $baidu + $bing + $sogou + $soso + $else;
if($tmp == 0) {
return "
数据不足,无法生成分析图。
";
}
$google2 = $google*100/$tmp;
$baidu2 = $baidu*100/$tmp;
$bing2 = $bing*100/$tmp;
$sogou2 = $sogou*100/$tmp;
$soso2 = $soso*100/$tmp;
$else2 = $else*100/$tmp;
$str.= "
蜘蛛爬行分析图:
";
$str.= "日期:" . date("Y-m-d");
$str.= "
蜘蛛一共爬行". $tmp . "次:
";
$str.= "
google:". $google ."次(". intval($google2) ."%)";
$str.= "baidu:". $baidu ."次(". intval($baidu2) ."%)";
$str.= "bing:". $bing ."次(". intval($bing2) ."%)";
$str.= "sogou:". $sogou ."次(". intval($sogou2) ."%)";
$str.= "soso:". $soso ."次(". intval($soso2) ."%)";
$str.= "else:". $else ."次(". (100 - intval($google2) - intval($baidu2) - intval($bing2) - intval($sogou2) - intval($soso2)) ."%)";
$str.= "
";
return $str;
}
add_shortcode('spiderlogs','get_spider_log');
//自动分析蜘蛛结束
?>