利用php抓取蜘蛛爬虫痕迹的示例代码


Posted in PHP onSeptember 30, 2016

前言

相信许多的站长、博主可能最关心的无非就是自己网站的收录情况,一般情况下我们可以通过查看空间服务器的日志文件来查看搜索引擎到底爬取了我们哪些个页面,不过,如果用php代码分析web日志中蜘蛛爬虫痕迹,是比较好又比较直观方便操作的!下面是示例代码,有需要的朋友们下面来一起看看吧。

示例代码

<?php
//获取蜘蛛爬虫名或防采集
function isSpider(){
  $bots = array(
          'Google'  => 'googlebot',
          'Baidu'    => 'baiduspider',
          'Yahoo'    => 'yahoo slurp',
          'Soso'    => 'sosospider',
          'Msn'    => 'msnbot',
          'Altavista'  => 'scooter ',
          'Sogou'    => 'sogou spider',
          'Yodao'    => 'yodaobot'
      );
  $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
  foreach ($bots as $k => $v){
    if (strstr($v,$userAgent)){
      return $k;
      break;
    }
  }
  return false;
} 
//获取哪种蜘蛛爬虫后保存蜘蛛痕迹。
//根据采集时HTTP_USER_AGENT是否为空来防止采集
//抓蜘蛛爬虫
$spi  = isSpider();
if($spi){
  $tlc_thispage  = addslashes($_SERVER['HTTP_USER_AGENT']);
  $file      = 'robot.txt';
  $time      = date('Y-m-d H:i:s',mktime());
  $handle      = fopen($file,'a+');
  $PR        = $_SERVER['REQUEST_URI'];
  fwrite($handle, "Time:{$time} ROBOT:{$spi} AGENT:{$tlc_thispage} URL:{$PR} \n\r");
  fclose($handle);
}
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有问题大家可以留言交流。

PHP 相关文章推荐
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 PHP
php获取网页上所有链接的方法
Apr 03 PHP
php文件缓存类用法实例分析
Apr 22 PHP
PHP批量删除jQuery操作
Jul 23 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
PHP XML Expat解析器知识点总结
Feb 15 PHP
Laravel框架表单验证操作实例分析
Sep 30 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 #PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 #PHP
利用PHP生成静态html页面的原理
Sep 30 #PHP
Yii2框架实现注册和登录教程
Sep 30 #PHP
php多线程并发实现方法
Sep 30 #PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 #PHP
分享PHP-pcntl 实现多进程代码
Sep 30 #PHP
You might like
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
理解javascript中的闭包
2017/01/11 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
python通过smpt发送邮件的方法
2015/04/30 Python
Python下载懒人图库JavaScript特效
2015/05/28 Python
python简单实现刷新智联简历
2016/03/30 Python
Python部署web开发程序的几种方法
2017/05/05 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
Python tkinter label 更新方法
2018/10/11 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
银行实习的自我鉴定
2013/12/10 职场文书
静心口服夜广告词
2014/03/20 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
销售目标责任书
2014/07/23 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
队列队形口号
2015/12/25 职场文书
严以用权学习心得体会
2016/01/12 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python