利用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实现的简单压缩英文字符串的代码
Apr 24 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
php笔记之:AOP的应用
Apr 24 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
Aug 19 PHP
joomla实现注册用户添加新字段的方法
May 05 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 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开发的一些注意点总结
2010/10/12 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
javascript 隔行换色函数代码
2010/10/24 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python自定义时钟类、定时任务类
2021/02/22 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
通过实例解析python and和or使用方法
2020/11/14 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
自荐信格式的六要素
2013/09/21 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
工作收入证明模板
2014/10/10 职场文书
开平碉楼导游词
2015/02/06 职场文书
毕业欢送会致辞
2015/07/29 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
nginx共享内存的机制详解
2022/03/21 Servers