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程序中防止盗链
Apr 09 PHP
PHP网站备份程序代码分享
Jun 10 PHP
redis 队列操作的例子(php)
Apr 12 PHP
解析Extjs与php数据交互(增删查改)
Jun 25 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
一个简单的php路由类
May 29 PHP
PHP中FTP相关函数小结
Jul 15 PHP
PHP图像识别技术原理与实现
Oct 27 PHP
PHP自定义函数获取汉字首字母的方法
Dec 01 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
Laravel使用模型实现like模糊查询的例子
Oct 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
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
js压缩利器
2007/02/20 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
让Python更加充分的使用Sqlite3
2017/12/11 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
音乐表演专业毕业生求职信
2013/10/14 职场文书
医护人员英文求职信范文
2013/11/26 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
教师工作表现自我评价
2015/03/05 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
python 爬取华为应用市场评论
2021/05/29 Python