利用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 相关文章推荐
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
Mar 23 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
PHP获取MSN好友列表类的实现代码
Jun 23 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
destoon二次开发入门示例
Jun 20 PHP
php通过Chianz.com获取IP地址与地区的方法
Jan 14 PHP
php解析xml方法实例详解
May 12 PHP
php中array_column函数简单实现方法
Jul 11 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
CI框架附属类用法分析
Dec 26 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
xajax写的留言本
2006/11/25 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
php处理复杂xml数据示例
2016/07/11 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
php-fpm中max_children的配置
2019/03/15 PHP
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
Python的另外几种语言实现
2015/01/29 Python
python 字典(dict)按键和值排序
2016/06/28 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
Python模块 _winreg操作注册表
2020/02/05 Python
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
新加坡交友网站:be2新加坡
2019/04/10 全球购物
自动化职业生涯规划书范文
2014/01/03 职场文书
成功的餐厅经营创业计划书
2014/01/15 职场文书
销售员岗位职责范本
2014/02/03 职场文书
医学类个人求职信范文
2014/02/05 职场文书
婚前协议书
2014/04/15 职场文书
会计专业求职信范文
2015/03/19 职场文书
党支部半年考察意见
2015/06/01 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
详解Redis瘦身指南
2021/05/26 Redis
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫