找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1240|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:56:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            我在服务器上有每天切割nginx日志的习惯,所以针对每天各大搜索引擎来访,总能记录一些404页面信息,传统上我只是偶尔分析下日志,但是对于很多日志信息的朋友,人工来筛选可能不是一件容易的事情,这不我个人自己慢慢研究了一点点,针对谷歌、百度、搜搜、360搜索、宜搜、搜狗、必应等搜索引擎的404访问生成为一个txt文本文件,直接上代码test.php。
[U]复制代码[/U] 代码如下:
'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;
好就这样了。没有什么高深的技术,只有动手写的过程。
            
            
您可能感兴趣的文章:
  • 为Nginx自定义404,502错误页面的方法
  • Nginx下Wordpress的永久链接实现(301,404等)
  • NGINX下配置404错误页面的方法分享
  • Nginx中定义404页面并且返回404状态码的正确方法
  • 一个等号引发的血案(谈Nginx正确的404配置)
  • Nginx服务器中配置404错误页面时一些值得注意的地方
  • Nginx+CI框架出现404错误怎么解决
  • Nginx中404页面的配置及AJAX请求返回404页面的方法
  • Nginx实现404页面的方法小结
  • NGINX服务器配置404错误页面转向的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端