PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径

 更新时间:2014年06月30日 09:59:26   投稿:junjie  
这篇文章主要介绍了PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径,可以对每个搜索引擎单独统计,需要的朋友可以参考下

我在服务器上有每天切割nginx日志的习惯,所以针对每天各大搜索引擎来访,总能记录一些404页面信息,传统上我只是偶尔分析下日志,但是对于很多日志信息的朋友,人工来筛选可能不是一件容易的事情,这不我个人自己慢慢研究了一点点,针对谷歌、百度、搜搜、360搜索、宜搜、搜狗、必应等搜索引擎的404访问生成为一个txt文本文件,直接上代码test.php。

复制代码 代码如下:

<?php
//访问test.php?s=google
$domain='https://www.jb51.net';
$spiders=array('baidu'=>'Baiduspider','360'=>'360Spider',
'google'=>'Googlebot','soso'=>'Sosospider','sogou'=>
'Sogou web spider','easou'=>'EasouSpider','bing'=>'bingbot');
 
$path='/home/nginx/logs/'.date('Y/m/').(date('d')-1).'/access_www.txt';
 
$s=$_GET['s'];
 
if(!array_key_exists($s,$spiders)) die();
$spider=$spiders[$s];
 
$file=$s.'_'.date('ym').(date('d')-1).'.txt';
if(!file_exists($file)){
    $in=file_get_contents($path);
    $pattern='/GET (.*) HTTP\/1.1" 404.*'.$spider.'/';
    preg_match_all ( $pattern , $in , $matches );
    $out='';
    foreach($matches[1] as $k=>$v){
        $out.=$domain.$v."\r\n";
    }
    file_put_contents($file,$out);
}
 
$url=$domain.'/silian/'.$file;
echo $url;

好就这样了。没有什么高深的技术,只有动手写的过程。

相关文章

  • Laravel find in set排序实例

    Laravel find in set排序实例

    今天小编就为大家分享一篇Laravel find in set排序实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 基于PHP常用函数的用法详解

    基于PHP常用函数的用法详解

    本篇文章对PHP中的一些常用函数的用法进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • ThinkPHP菜单无极分类实例讲解

    ThinkPHP菜单无极分类实例讲解

    这篇文章主要介绍了ThinkPHP菜单无极分类实例讲解,文中将代码列举了出来,有感兴趣的同学可以借鉴参考下
    2021-03-03
  • 微信公众平台实现获取用户OpenID的方法

    微信公众平台实现获取用户OpenID的方法

    这篇文章主要介绍了微信公众平台实现获取用户OpenID的方法,需要开发人员经过微信授权后获取高级接口才能使用此功能,用户OpenID对于微信公众平台建设有着非常广泛的用途,需要的朋友可以参考下
    2015-04-04
  • Laravel框架模板继承操作示例

    Laravel框架模板继承操作示例

    这篇文章主要介绍了Laravel框架模板继承操作,结合实例形式分析了Laravel框架模板继承的实现方法及相关操作注意事项,需要的朋友可以参考下
    2018-06-06
  • PHP不使用递归的无限级分类简单实例

    PHP不使用递归的无限级分类简单实例

    下面小编就为大家带来一篇PHP不使用递归的无限级分类简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • ThinkPHP3.1新特性之查询条件预处理简介

    ThinkPHP3.1新特性之查询条件预处理简介

    相比于ThinkPHP3.0版本对数组方式的查询条件会进行安全过滤而不支持字符串条件的安全过滤的情况,ThinkPHP3.1版本则增加了对条件字符串进行预处理的支持,让ORM的安全性更加得以保证。这篇文章主要介绍了ThinkPHP3.1的查询条件预处理,需要的朋友可以参考下
    2014-06-06
  • Yii2中cookie用法示例分析

    Yii2中cookie用法示例分析

    这篇文章主要介绍了Yii2中cookie用法,结合实例形式简单分析了Yii2中cookie的设置、读取、配置等相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 实例讲解php数据访问

    实例讲解php数据访问

    这篇文章主要以实例讲解的方式为大家详细介绍了php数据访问,数据访问有两种方式,本文为大家揭晓,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • PHP中is_file()函数使用指南

    PHP中is_file()函数使用指南

    php中is_file()函数是用来判断文件是否存在,使用方法也非常的简单,有需要的小伙伴可以参考下。
    2015-05-05

最新评论