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


Posted in PHP onJune 30, 2014

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

<?php

//访问test.php?s=google

$domain='https://3water.com';

$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;

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

PHP 相关文章推荐
PHP 图像尺寸调整代码
May 26 PHP
php的memcached客户端memcached
Jun 14 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
thinkPHP下ueditor的使用方法详解
Dec 26 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
PHP count_chars()函数讲解
Feb 14 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 PHP
php和nginx交互实例讲解
Sep 24 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 #PHP
PHP把小数转成整数3种方法
Jun 30 #PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
Jun 29 #PHP
php防止伪造的数据从URL提交方法
Jun 27 #PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Jun 27 #PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 #PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 #PHP
You might like
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
js里面的变量范围分享
2020/07/18 Javascript
js制作提示框插件
2020/12/24 Javascript
Python读取Excel的方法实例分析
2015/07/11 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
django Admin文档生成器使用详解
2019/07/22 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
Python logging模块handlers用法详解
2020/08/14 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
项目资料员岗位职责
2013/12/10 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
高一英语教学反思
2016/03/03 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
python如何获取网络数据
2021/04/11 Python
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA