利用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
PHP session有效期问题
Apr 26 PHP
php在线代理转向代码
May 05 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
Smarty模板变量与调节器实例详解
Jul 20 PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 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实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
浅谈Node Inspector 代理实现
2017/10/19 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
python数据处理实战(必看篇)
2017/06/11 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
Python各种扩展名区别点整理
2020/02/27 Python
携程英文网站:Trip.com
2017/02/07 全球购物
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
德国自然时尚和有机产品购物网站:Waschbär
2019/05/29 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
机电专业个人求职信范文
2013/12/30 职场文书
工作时间上网检讨书
2014/02/03 职场文书
员工2014年度工作总结
2014/12/09 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
神秘岛读书笔记
2015/07/01 职场文书
2015年中秋寄语
2015/07/31 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js