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开发大型项目的一点经验
Oct 09 PHP
php获取文件大小的方法
Feb 26 PHP
php多重接口的实现方法
Jun 20 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
PHP命名空间和自动加载类
Apr 03 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 PHP
PHP fclose函数用法总结
Feb 15 PHP
php集成开发环境详解
Sep 24 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 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
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
php截取中文字符串函数实例
2015/02/23 PHP
基于JQuery制作的产品广告效果
2010/12/08 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
js实现一个简易计算器
2020/03/30 Javascript
Python下线程之间的共享和释放示例
2015/05/04 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
python如何定义带参数的装饰器
2018/03/20 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
服务理念口号
2014/06/11 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
小学语文国培研修日志
2015/11/13 职场文书