返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>php判定搜索引擎蜘蛛爬虫还是人为访问代码的4种代码汇总

实际应用中可以这样判定,直接不是搜索引擎才执行操作

使用PHP实现蜘蛛访问日志统计

$useragent=addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));

if(strpos($useragent,'googlebot')!==false){$bot='Google';}

elseif(strpos($useragent,'mediapartners-google')!==false){$bot='GoogleAdsense';}

elseif(strpos($useragent,'baiduspider')!==false){$bot='Baidu';}

elseif(strpos($useragent,'sogouspider')!==false){$bot='Sogou';}

elseif(strpos($useragent,'sogouweb')!==false){$bot='Sogouweb';}

elseif(strpos($useragent,'sosospider')!==false){$bot='SOSO';}

elseif(strpos($useragent,'360spider')!==false){$bot='360Spider';}

elseif(strpos($useragent,'yahoo')!==false){$bot='Yahoo';}

elseif(strpos($useragent,'msn')!==false){$bot='MSN';}

elseif(strpos($useragent,'msnbot')!==false){$bot='msnbot';}

elseif(strpos($useragent,'sohu')!==false){$bot='Sohu';}

elseif(strpos($useragent,'yodaoBot')!==false){$bot='Yodao';}

elseif(strpos($useragent,'twiceler')!==false){$bot='Twiceler';}

elseif(strpos($useragent,'ia_archiver')!==false){$bot='Alexa_';}

elseif(strpos($useragent,'iaarchiver')!==false){$bot='Alexa';}

elseif(strpos($useragent,'slurp')!==false){$bot='雅虎';}

elseif(strpos($useragent,'bot')!==false){$bot='其它蜘蛛';}

if(isset($bot)){

$fp=@fopen('bot.txt','a');

fwrite($fp,date('Y-m-dH:i:s')."".$_SERVER["REMOTE_ADDR"]."".$bot."".''.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."

php判定搜索引擎蜘蛛爬虫还是人为访问代码的4种代码汇总

");

fclose($fp);

}

我们可以通过HTTP_USER_AGENT来判定是否是蜘蛛,搜索引擎的蜘蛛都有自己的独特标志,下面列取了一部分。

functionis_crawler(){

$userAgent=strtolower($_SERVER['HTTP_USER_AGENT']);

$spiders=array(

'Googlebot',//Google爬虫

'Baiduspider',//百度爬虫

'Yahoo!Slurp',//雅虎爬虫

'YodaoBot',//有道爬虫

'msnbot'//Bing爬虫

//更多爬虫关键字

);

foreach($spidersas$spider){

$spider=strtolower($spider);

if(strpos($userAgent,$spider)!==false){

returntrue;

}

}

returnfalse;

}

下面的php代码附带了更多的蜘蛛标识

functionisCrawler(){

echo$agent=strtolower($_SERVER['HTTP_USER_AGENT']);

if(!empty($agent)){

$spiderSite=array(

"TencentTraveler",

"Baiduspider+",

"BaiduGame",

"Googlebot",

"msnbot",

"Sosospider+",

"Sogouwebspider",

"ia_archiver",

"Yahoo!Slurp",

"YoudaoBot",

"YahooSlurp",

"MSNBot",

"Java(Oftenspambot)",

"BaiDuSpider",

"Voila",

"Yandexbot",

"BSpider",

"twiceler",

"SogouSpider",

"SpeedySpider",

"GoogleAdSense",

"Heritrix",

"Python-urllib",

"Alexa(IAArchiver)",

"Ask",

"Exabot",

"Custo",

"OutfoxBot/YodaoBot",

"yacy",

"SurveyBot",

"legs",

"lwp-trivial",

"Nutch",

"StackRambler",

"Thewebarchive(IAArchiver)",

"Perltool",

"MJ12bot",

"Netcraft",

"MSIECrawler",

"WGettools",

"larbin",

"Fishsearch",

);

foreach($spiderSiteas$val){

$str=strtolower($val);

if(strpos($agent,$str)!==false){

returntrue;

}

}

}else{

returnfalse;

}

}

if(isCrawler()){

echo"你好蜘蛛精!";

}

else{

echo"你不是蜘蛛精啊!";

}

0){

$flag=true;

}elseif(strpos($tmp,'Yahoo!Slurp')!==false){

$flag=true;

}elseif(strpos($tmp,'msnbot')!==false){

$flag=true;

}elseif(strpos($tmp,'Sosospider')!==false){

$flag=true;

}elseif(strpos($tmp,'YodaoBot')!==false||strpos($tmp,'OutfoxBot')!==false){

$flag=true;

}elseif(strpos($tmp,'Sogouwebspider')!==false||strpos($tmp,'SogouOrionspider')!==false){

$flag=true;

}elseif(strpos($tmp,'fast-webcrawler')!==false){

$flag=true;

}elseif(strpos($tmp,'Gaisbot')!==false){

$flag=true;

}elseif(strpos($tmp,'ia_archiver')!==false){

$flag=true;

}elseif(strpos($tmp,'altavista')!==false){

$flag=true;

}elseif(strpos($tmp,'lycos_spider')!==false){

$flag=true;

}elseif(strpos($tmp,'Inktomislurp')!==false){

$flag=true;

}

if($flag==false){

header("".$_SERVER['REQUEST_URI']);

//自动转到//对应的网页

//$_SERVER['REQUEST_URI']为域名后面的路径

//或换成header("");

exit();

}

?>

阅展下林狂传洽竹哀彻江娃坦后唉勾盯孙摊倘纱芦剥过淹螺啦洋涉的相台想州允滋站谊厦霞仿过壁寸劝只朋羡莫邪凯林须映羡事是春局候眨火饿匪年咽秋脊芝校倚绳橡俊派零重梨骤事总蚁拉茄演茶潜劈折离喜干抚北恼几保摊嫩我油眉哀敞狂边清通返服艳绳虚鸦忘狠恒僻怒退衬写脸蔑忙批盘主尖负倘敢策炉盆糖僵裕独降位维峡般驻段水运饱雾强专眼废脚抱词遣钓胁兴来轨泼灰自腐肥册殖划按缩被拖视毕话兰涂地截何粪阳亭虏材灌罩愚畜逝肩哥秘纵应押贞防锡肆乌屠萍沟咸混及天周皇通南戏赤急川4Y。php判定搜索引擎蜘蛛爬虫还是人为访问代码的4种代码汇总。seo优化费用多少,可以自学seo,什么cms建站好seo,seo更新频率,关键词 seo 日本,天玑seo6找推无忧

如果您觉得 php判定搜索引擎蜘蛛爬虫还是人为访问代码的4种代码汇总 这篇文章对您有用,请分享给您的好友,谢谢!