ホームページ >バックエンド開発 >PHPチュートリアル >nginx アクセス ログの 404 リンク ページ パスをクロールする PHP 統計検索エンジン_PHP チュートリアル

nginx アクセス ログの 404 リンク ページ パスをクロールする PHP 統計検索エンジン_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:26:161059ブラウズ

私はサーバー上の nginx ログを毎日カットする習慣があるので、主要な検索エンジンからの毎日の訪問について常に 404 ページの情報を記録できます。従来、ログを分析するのはたまにしかありませんでしたが、大量のログを持っている友人のために。ログ情報を手動でフィルタリングするのは簡単な作業ではないかもしれませんが、私はこれを自分でゆっくりと研究し、Google、Baidu、Soso、360 Search、Yisou、Sogou、などの検索エンジンからの 404 アクセス用の txt テキスト ファイルを生成しました。 Bing コード test.php に直接移動します。

コードをコピーします コードは次のとおりです:

//test.php?s=google にアクセスします
$domain='http://www.jb51.net';
$spiders=array('baidu'=>'Baiduspider','360'=>'360Spider',
'google'=>'Googlebot','soso'=>'ソソスパイダー','sogou'=>
'Sogou ウェブ スパイダー','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."rn";
}
File_put_contents($file,$out);
}

$url=$domain.'/silian/'.$file;
$url をエコー;

それで終わりです。高度な技術はなく、ただ手書きで書くだけです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/824747.html技術記事私はサーバー上の nginx ログを毎日カットする習慣があるので、主要な検索エンジンからの毎日のアクセスに関する 404 ページの情報を常に記録できます。従来、ログを分析するのはたまにしかしていませんでしたが...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。