利用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 相关文章推荐
跟我学小偷程序之成功偷取首页(第三天)
Oct 09 PHP
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
php 无限极分类
Mar 27 PHP
php intval的测试代码发现问题
Jul 27 PHP
PHP $_SERVER详解
Jan 16 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
PHP身份证校验码计算方法
Aug 10 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
利用PHP实现一个简单的用户登记表示例
Apr 25 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 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
如何开始收听短波广播
2021/03/01 无线电
php中一个完整表单处理实现代码
2011/11/10 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
2017/06/05 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
Javascript调用C#代码
2011/01/17 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
复古服装:RetroStage
2019/05/10 全球购物
班组长工作职责
2013/12/25 职场文书
2014年安全生产责任书
2014/07/22 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
学生打架检讨书
2014/10/20 职场文书
自查自纠整改报告
2014/11/06 职场文书
前台岗位职责范本
2015/04/16 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书