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 七大优势分析
Jun 23 PHP
php记录日志的实现代码
Aug 08 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
May 15 PHP
解密ThinkPHP3.1.2版本之模板继承
Jun 19 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
常用PHP封装分页工具类
Jan 14 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 PHP
php7 错误处理机制修改实例分析
May 25 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 url 加密解密函数代码
2011/08/26 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
如何基于python实现脚本加密
2019/12/28 Python
python两个list[]相加的实现方法
2020/09/23 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
行政管理人员精品工作推荐信
2013/11/04 职场文书
事假请假条范文
2014/04/11 职场文书
人事专员岗位说明书
2014/07/29 职场文书
2014年班组工作总结
2014/11/20 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书