如何用PHP判断搜索引擎蜘蛛来路?急!

请问如何用PHP代码来判断搜索引擎蜘蛛来路,作出判断后执行其它代码。比如:被判断出是百度蜘蛛来访问时,网页执行一种代码,正常用户访问或者其它引擎蜘蛛来访问时,网页执行另一... 请问如何用PHP代码来判断搜索引擎蜘蛛来路,作出判断后执行其它代码。

比如:被判断出是百度蜘蛛来访问时,网页执行一种代码,正常用户访问或者其它引擎蜘蛛来访问时,网页执行另一种代码。

麻烦高手赐教,偶是PHP新手,最好能得到详细一些,如实例代码的答案,谢谢!
展开
 我来答
匿名用户
推荐于2016-05-09
展开全部
一下是DZ代码中的实现细节,你可以参考一下: 其实PHP有个很简单的方式去实现,通过_SERVER这个预定义变量中的_SERVER['HTTP_USER_AGENT']可以取得访问者的属性,具体可以看下Diiscuz!是如何判断搜索引擎的,函数代码如下:
function getrobot() {
if(!defined('IS_ROBOT')) {
kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
if(preg_match("/(kw_browsers)/", _SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', FALSE);
} elseif(preg_match("/(kw_spiders)/", _SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', TRUE);
} else {
define('IS_ROBOT', FALSE);
}
}
return IS_ROBOT;
}

根据上面还可以精简如下:
if(preg_match("/(Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", _SERVER['HTTP_USER_AGENT'])) {
echo 'robot';
}

如果你需要返回详细的搜索引擎名称,而不是是否是搜索引擎机器人的话,请看下面的代码:
function get_naps_bot() {
useragent = strtolower(_SERVER['HTTP_USER_AGENT']);

if (strpos(useragent, 'googlebot') !== false){
return 'Googlebot';
}

if (strpos(useragent, 'msnbot') !== false){
return 'MSNbot';
}

if (strpos(useragent, 'slurp') !== false){
return 'Yahoobot';
}

if (strpos(useragent, 'baiduspider') !== false){
return 'Baiduspider';
}

if (strpos(useragent, 'sohu-search') !== false){
return 'Sohubot';
}

if (strpos(useragent, 'lycos') !== false){
return 'Lycos';
}

if (strpos(useragent, 'robozilla') !== false){
return 'Robozilla';
}
return false;
}
匿名用户
2013-09-09
展开全部
用PHP获取状态头,再和下边的代码对应就知道了,获取头的方法是全局变量$_SERVER,
$searchengine_bot = array(
'googlebot',
'mediapartners-google',
'baiduspider+',
'msnbot',
'yodaobot',
'yahoo! slurp;',
'yahoo! slurp china;',
'iaskspider',
'sogou web spider',
'sogou push spider'
);
$searchengine_name = array(
'GOOGLE',
'GOOGLE ADSENSE',
'BAIDU',
'MSN',
'YODAO',
'YAHOO',
'Yahoo China',
'IASK',
'SOGOU',
'SOGOU'
);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式