php 判断访客是否为搜索引擎蜘蛛的函数代码


Posted in PHP onJuly 29, 2011
/** 
* 判断是否为搜索引擎蜘蛛 
* 
* @author Eddy 
* @return bool 
*/ 
function isCrawler() { 
$agent= strtolower($_SERVER['HTTP_USER_AGENT']); 
if (!empty($agent)) { 
$spiderSite= array( 
"TencentTraveler", 
"Baiduspider+", 
"BaiduGame", 
"Googlebot", 
"msnbot", 
"Sosospider+", 
"Sogou web spider", 
"ia_archiver", 
"Yahoo! Slurp", 
"YoudaoBot", 
"Yahoo Slurp", 
"MSNBot", 
"Java (Often spam bot)", 
"BaiDuSpider", 
"Voila", 
"Yandex bot", 
"BSpider", 
"twiceler", 
"Sogou Spider", 
"Speedy Spider", 
"Google AdSense", 
"Heritrix", 
"Python-urllib", 
"Alexa (IA Archiver)", 
"Ask", 
"Exabot", 
"Custo", 
"OutfoxBot/YodaoBot", 
"yacy", 
"SurveyBot", 
"legs", 
"lwp-trivial", 
"Nutch", 
"StackRambler", 
"The web archive (IA Archiver)", 
"Perl tool", 
"MJ12bot", 
"Netcraft", 
"MSIECrawler", 
"WGet tools", 
"larbin", 
"Fish search", 
); 
foreach($spiderSite as $val) { 
$str = strtolower($val); 
if (strpos($agent, $str) !== false) { 
return true; 
} 
} 
} else { 
return false; 
} 
}

网上倒是能搜到一大把,不过都是千篇一律的复制来复制去的,也不够全面,我这里整理了一份比较全面的代码:

function is_spider(){ 
$robot = 0; 
$USER_AGENT = strtolower($_SERVER['HTTP_USER_AGENT']); 
if(strpos($USER_AGENT,"bot")) $robot = 1; 
if(strpos($USER_AGENT,"spider")) $robot = 1; 
if(strpos($USER_AGENT,"slurp")) $robot = 1; 
if(strpos($USER_AGENT,"mediapartners-google")) $robot = 1; 
if(strpos($USER_AGENT,"fast-webcrawler")) $robot = 1; 
if(strpos($USER_AGENT,"altavista")) $robot = 1; 
if(strpos($USER_AGENT,"ia_archiver")) $robot = 1; 
if($robot == 1){ 
//do something 
} 
return ''; 
}
PHP 相关文章推荐
PHP生成HTML静态页面实例代码
Aug 31 PHP
PHP+MySQL 手工注入语句大全 推荐
Oct 30 PHP
PHP简洁函数小结
Aug 12 PHP
第五章 php数组操作
Dec 30 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 PHP
php中执行系统命令的方法
Mar 21 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
php strftime函数的详细用法
Jun 21 PHP
thinkphp 获取控制器及控制器方法
Apr 16 PHP
php.ini中date.timezone设置分析
Jul 29 #PHP
PHP调用Webservice实例代码
Jul 29 #PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 #PHP
一个典型的PHP分页实例代码分享
Jul 28 #PHP
新手学习PHP的一些基础知识分享
Jul 27 #PHP
php XPath对XML文件查找及修改实现代码
Jul 27 #PHP
简单的php写入数据库类代码分享
Jul 26 #PHP
You might like
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
2016/05/11 Javascript
用原生js做单页应用
2017/01/17 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
微信小程序版本自动更新的方法
2019/06/14 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
python针对excel的操作技巧
2018/03/13 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
python频繁写入文件时提速的方法
2019/06/26 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
python绘制彩虹图
2019/12/16 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
门卫班长岗位职责
2013/12/15 职场文书
采购经理岗位职责
2014/02/16 职场文书
2014政务公开实施方案
2014/02/19 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
Golang数据类型和相互转换
2022/04/12 Golang
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技