识别蜘蛛标识符,例如某些特定的符号,能够帮助我们区分访问者究竟是搜索引擎的爬虫还是一般的用户。以下是一些PHP技术,它们可以用来判断访客的身份,是搜索引擎的爬虫还是普通用户。
1、摘自 x3.2
em若未定义用户代理,则采用$_SERVER['HTTP_USER_AGENT']的值,否则使用$useragent。
若用户代理字符串中不包含“http://”,且不包含指定的浏览器关键词,则返回false。
若用户代理字符串中包含关键词蜘蛛,则返回true。
若返回值为假,则执行;定义一个函数名为dstrpos,它接受三个参数:字符串(string)、数组(arr)和可选的返回值(returnvalue),默认为假。
若字符串为空,则返回错误值。
遍历数组中的每个元素,将它们逐一赋值给变量$v。
若字符串中包含变量$v的值,则执行以下操作。
若returnvalue为真,则将其值赋给return;否则,将true赋值给return。
return $return;
}
}
若检测到机器人,则返回错误;否则,执行检查操作。
echo '机器人爬虫';
}else{
echo '普通用户';
}
?>
实际应用,可以判断非搜索引擎(蜘蛛):
第二种方法,使用PHP实现蜘蛛访问日志统计
第三种方法:
搜索引擎的蜘蛛都有自己的独特标志,通过来判断是否是蜘蛛。
function isCrawler() {
执行命令echo,将变量$agent赋值为将$_SERVER数组中键名为'HTTP_USER_AGENT'的值转换为小写字母。
if (!empty($agent)) {
$spiderSite= array(
腾讯旅行者
"Baiduspider+",
"BaiduGame",
"Googlebot",
"msnbot",
"Sosospider+",
搜狗网络爬虫
"ia_archiver",
"Yahoo! Slurp",
"YoudaoBot",
"Yahoo Slurp",
"MSNBot",
Java(通常为垃圾邮件机器人)
"BaiDuSpider",
"Voila",
"Yandex bot",
"BSpider",
"twiceler",
"Sogou Spider",
"Speedy Spider",
谷歌广告联盟
"Heritrix",
"Python-urllib",
"这款名为‘Alexa IA Archiver’的设备,"
"Ask",
"Exabot",
"Custo",
“该软件的名称为OutfoxBot或YodaoBot。”
"yacy",
"SurveyBot",
"legs",
"lwp-trivial",
"Nutch",
"StackRambler",
该网络档案馆(IA存档器)。
"Perl tool",
"MJ12bot",
"Netcraft",
"MSIECrawler",
"WGet tools",
"larbin",
"Fish search",
//其它蜘蛛,
);
遍历蜘蛛站点数组,对每个元素进行操作:$val。
若检测到代理字符串中包含目标字符串,则执行以下操作。
return true;
}
}
}else{
return false;
}
}
if (isCrawler()){
echo "你好蜘蛛精!";
}else{
echo "你好普通用户!";
}
?>
比较常见的蜘蛛标识,如果有错误或者没有收集到的,可以留言。
百度蜘蛛:
百度图片:-image
百度WAP:-
扫一扫在手机端查看
- 上一篇:Ubuntu20.04LTS系统安装步骤_【技术】Ubuntu20.04LTS安装及优化美化
- 下一篇:Ubuntu 16.04 FreeRADIUS安装教程_在Ubuntu 16.04 LTS服务器上安装FreeRADIUS和Daloradius的方法
本文链接:https://www.by928.com/chongqing/10257.html 转载请注明出处和本文链接!请遵守
《网站协议》
!
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1