利用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编程与应用
Oct 09 PHP
mysql limit查询优化分析
Nov 12 PHP
php SQL之where语句生成器
Mar 24 PHP
修改PHP的memory_limit限制的方法分享
Feb 21 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
php使用正则验证中文
Apr 06 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
Jun 11 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检测用户是否用手机(Mobile)访问网站的类
2014/01/09 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
jquery 表单取值常用代码
2009/12/22 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
详解Python中的join()函数的用法
2015/04/07 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
Python turtle画图库&amp;&amp;画姓名实例
2020/01/19 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
局部内部类是否可以访问非final变量?
2013/04/20 面试题
大学在校生求职信范文
2013/11/21 职场文书
挂职自我鉴定
2014/02/26 职场文书
益达广告词
2014/03/14 职场文书
承诺书的格式范文
2014/03/28 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
2014年国庆节寄语
2014/09/19 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB