利用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 相关文章推荐
frename PHP 灵活文件命名函数 frename
Sep 09 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
php多文件上传功能实现原理及代码
Apr 18 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
php需登录的文件上传管理系统
Mar 21 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
Yii开启片段缓存的方法
Mar 28 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 PHP
php模拟post提交请求调用接口示例解析
Aug 07 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
html中select语句读取mysql表中内容
2006/10/09 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
python远程登录代码
2008/04/29 Python
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
将python安装信息加入注册表的示例
2019/11/20 Python
Python实现密码薄文件读写操作
2019/12/16 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
this关键字的作用
2016/01/30 面试题
机械设计制造专业个人求职信
2013/09/25 职场文书
汽车专业毕业生自荐信
2013/11/03 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
启动仪式策划方案
2014/06/14 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
迎新生欢迎词
2015/01/23 职场文书
python 提取html文本的方法
2021/05/20 Python