利用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去除数组中重复的元素并按键名排序函数
Aug 18 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
Jan 24 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
php以post形式发送xml的方法
Nov 04 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
php微信公众号开发模式详解
Nov 28 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
PHP实现模拟http请求的方法分析
Dec 20 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 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
详解PHP队列的实现
2019/03/14 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
Python是编译运行的验证方法
2015/01/30 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
澳大利亚家具商店:Freedom
2020/12/17 全球购物
计算机工程学院个人求职信
2013/10/05 职场文书
大专毕业生简历的自我评价
2013/10/20 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
工作会议主持词
2014/03/17 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
领导欢迎词致辞
2015/01/23 职场文书
护士自荐信怎么写
2015/03/06 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
2016年公司“3.12”植树节活动总结
2016/03/16 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
MySQL 覆盖索引的优点
2021/05/19 MySQL
Python中的tkinter库简单案例详解
2022/01/22 Python
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers