アクセスログ解析スクリプトですが、あるサイト(ディレクトリ)以下全ページに対してのアクセスログをとってくれるスクリプトを探しています。よくあるアクセスログ解析スクリプトは解析したいページにタグを追加するものですが、全ページに対してこのような作業を行う事が出来ません。「特定のディレクトリ以下の全HTMLファイルを対象にアクセスログをとる」仕様のスクリプトはどこかにないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

WEBページに関してなら、ログをとれるでしょうね。


ただ、それを行うスクリプトが存在していて(多分誰か作ったでしょうが)
自由にDLできる場所にあるかは解りません。
ただ、使い勝手云々を置けば、一般的なものでも実現できるかも知れません。
スクリプトの実行をIMGタグで記述しておけば、そのスクリプトがどのURLから実行されたか
REFERERに入っていますので、訪問者はそのページへ行った、ということになります。
上手くやればどの画像を見たとか、どれをDLしたとかも解るでしょう。

後はログを訪問者のHOSTNAMEでgrepでもしてみるとよいでしょう。
勿論、同時に同じプロキシ経由でアクセスされた場合は解らなくなってしまいますが。

レンタルサーバーとのことですが、ログを読む権限はないんでしょうか?
なければコピーも出来ませんので、自作するのが一番手っ取り早いでしょう。

#管理の上での理想は、HTMLファイル毎にログを用意することでしょうか。
#IMGタグなんかじゃなく、SSIが使えればもっと奇麗に出来るでしょう。
    • good
    • 0

ところでいわゆる普通のレンタルサーバーみたいな環境ですよね?


ログ参照できるとか特別な環境だったらできるはずですけど。

この回答への補足

>>Sephy様

ご回答ありがとうございます。
レンタルサーバーにログ参照ツールは用意されていますが、一日毎にログが自動的に削除されてしまうものです。ホスト会社に問い合わせてみたところ、特定の期間のログを抽出する事は出来ないという回答でした。「ログ参照できるとか特別な環境」かどうかは判断出来ないのですが、このような経緯があります。

補足日時:2001/01/06 10:46
    • good
    • 0

CGIでカウントを取るにはCGIが起動されないといけないので、


CGIでやるには自分でサーバーを立ち上げて細かい設定をしていかないとできないような気がします。
そういうのができると面白いと思いますけどね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QアクセスログのOS解析について

いつもお世話になります。
futomi's 高機能アクセス解析にて。

Mozilla/4.0 (compatible; Trend Micro tmdr 1.0-1032)
これは、なんと言うブラウザで、OSは何でしょうか?

教えて下さい。

Aベストアンサー

セキュリティソフトの類に付いているプライバシー保護機能の中にはUAに関する情報を隠すように設定すると、OSやブラウザ名の代わりにソフト名等を表示するものがあります。
たぶん、Trend Micro社製のなんらかの製品を使い、ブラウ
ザ情報を隠しているのだと思います。

QアクセスログのGCIスクリプト

アクセスログGCIスクリプトを探してます

・無料で
・リンク元
・IPアドレス
・ドメイン名
・OSブラウザ
が分かるものってないでしょうか?

最低でも
・無料で
・リンク元
・IP
がわかればいいです

動作が重くないもので、オススメなものはありませんか?

Aベストアンサー

#1です。
リンク先もでしたね^^;

WEB ACCESS
観覧制限パスワード機能
アクセス元ホスト名レポート解析機能
アクセス元ドメイン名レポート解析機能
訪問者ブラウザーレポート解析機能
時間別アクセス数レポート解析機能
月別カレンダー表示機能
月別ログ保存機能

これはいかがですか?

参考URL:http://www.olive-design.com/~cgi/

Q生ログに近いアクセス解析

サイトを訪れた人の[日時][IP]を調べらいのですが、
よくあるアクセス解析CGIではHOSTの統計と時間帯の統計が別々になっています。
私は[いつ][誰が]がアクセスしたのかを記録できるアクセス解析CGIを探しています。
例えば下記の様なものが理想です。

---------------------------------------
[日時][IP又はHOST]
[2005/07/23/21:09:56] [111.111.111.111]
[2005/07/24/19:23:01] [222.222.222.222]
[2005/07/24/23:58:22] [333.333.333.333]
[2005/07/25/03:19:41] [444.444.444.444]
---------------------------------------

[いつ][誰が]それさえ調べられればグラフや統計の機能は要りません。
調べるのはトップページ(index.html)のみです。

このようなアクセス解析は可能でしょうか?
このような動作をするCGIをご存知でしたら教えていただけないでしょうか?
よろしくお願いします。

サイトを訪れた人の[日時][IP]を調べらいのですが、
よくあるアクセス解析CGIではHOSTの統計と時間帯の統計が別々になっています。
私は[いつ][誰が]がアクセスしたのかを記録できるアクセス解析CGIを探しています。
例えば下記の様なものが理想です。

---------------------------------------
[日時][IP又はHOST]
[2005/07/23/21:09:56] [111.111.111.111]
[2005/07/24/19:23:01] [222.222.222.222]
[2005/07/24/23:58:22] [333.333.333.333]
[2005/07/25/03:19:41] [444.444.444.444]
------------...続きを読む

Aベストアンサー

perlで書いてみました。

サーバーに保存してcgiのアドレスを
htmlのimageタグに書き込んで呼び出すといいと思います。
画像は邪魔にならないように適当に1ピクセルのデータでも作って指定するといいとおもいます。
accessLog_SaveToFile("testlog.log");
で  指定したファイル名にログに書き込みますから
好きなファイル名をいれるといいです。
printoutImage("1pxsmall.jpg");
で画像を表示します。 いらないなら#でコメントにするといいです。
とりあえず3つ(jpg,gif,png)は自動で拡張子振り分けますので
違う拡張子は自分でくわえてください。

ホストも書き込むのでしたら $ENV{'REMOTE_HOST'}
を$LineTextに足すといいです

[日時][IP又はHOST]
[2005/10/16/16:42:34][127.0.0.1]
[2005/10/16/16:42:36][127.0.0.1]
[2005/10/16/16:42:37][127.0.0.1]
実行するとこんな感じのが保存されます

ここから下はソースコード

accessLog_SaveToFile("testlog.log");
#printoutImage("zz_small.PNG");
printoutImage("zz_small.jpg");

sub accessLog_SaveToFile {
# accessLog_SaveToFile($SaveFileName);
my $SaveFileName;
my $nowtime;
my $NowText;
my $LineText;
my ($sec,$min,$hour,$mday,$month,$year,$wday,$stime);

$SaveFileName = $_[0];

#時間を取得
$nowtime = time();
($sec,$min,$hour,$mday,$month,$year,$wday,$stime) = localtime($nowtime);
$year += 1900; $month++;
$NowText = sprintf("%04d/%02d/%02d/%02d:%02d:%02d",$year,$month,$mday,$hour,$min,$sec);

#書き込むデータ
$LineText = "[". $NowText ."][". $ENV{'REMOTE_ADDR'} ."]\n";

# ファイルが無ければ先頭行追加
if (!(-e $SaveFileName)) { $LineText = "[日時][IP又はHOST]\n".$LineText; }

# 回数を書き込みます
open(TEXTFILE, '>>'.$SaveFileName);
print(TEXTFILE $LineText);
close(TEXTFILE);
}

sub ExtractFileExt {
# ExtractFileExt(const FileName: string): string;
my ($FileName, $FExt ,@Line);
$FExt="";
$FileName = $_[0];
# ピリオドで分割
@Line = split(/\./,$FileName);
if ($#Line > 0 ) {
$FExt = $Line[$#Line]
}
return $FExt;
}

sub printoutImage {
my $LoadFileName;
my ($buf,$size ,$ext);
$LoadFileName = $_[0];

if (open(IN, $LoadFileName)) {
binmode(IN);
binmode(STDOUT);
$ext = lc ExtractFileExt($LoadFileName);
print $ext;
if ($ext eq 'png') { print "Content-Type: image/png\n\n";}
elsif ($ext eq 'gif') { print "Content-Type: image/gif\n\n";}
elsif (($ext eq 'jpg')||($ext eq 'jpeg')) { print "Content-Type: image/jpeg\n\n";}
while( read( IN, $buf, 1000 ) ){ print $buf; }
close(IN);
}
}

perlで書いてみました。

サーバーに保存してcgiのアドレスを
htmlのimageタグに書き込んで呼び出すといいと思います。
画像は邪魔にならないように適当に1ピクセルのデータでも作って指定するといいとおもいます。
accessLog_SaveToFile("testlog.log");
で  指定したファイル名にログに書き込みますから
好きなファイル名をいれるといいです。
printoutImage("1pxsmall.jpg");
で画像を表示します。 いらないなら#でコメントにするといいです。
とりあえず3つ(jpg,gif,png)は自動で拡張子振り分...続きを読む

Qレンタル出来るアクセスカウンターでどのホームページから来たか解析

レンタルアクセスカウンターでどのホームページから飛んできたか解析出来るようなアクセスカウンターを知っている人はいませんか?

Aベストアンサー

いろいろありますがINFOSEEKの解析カウンターは
詳しいログが取れるのでお奨めです。
無料使用可能
登録必要です。
http://analyze.www.infoseek.co.jp/?sv=AC&svx=100302&svp=SEEK

参考URL:http://analyze.www.infoseek.co.jp/?sv=AC&svx=100302&svp=SEEK

Qアクセス解析CGI、"?"以下を表示させず、1つにまとめる方法

http://www.rescue.ne.jp/
ここのSSIアクセス解析を使用しています。
http://www.rescue.ne.jp/cgi/webaxs/sample/webaxs.cgi
シンプルでいいのですが、1つだけ難点が…
検索サイトなどで、?以降に検索語句が入っているものってありますよね。それが必要ないんです。
どのサイトから来たかだけがわかれば良いので、?以下を表示させず、1つにまとめてほしいのですが…
たとえば、ここ教えてgooを検索すると、
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E6%95%99%E3%81%88%E3%81%A6+goo
となります。
これを、「http://www.google.co.jp/search」だけにして集計してほしいんです。

どうしたらこのように出来ますか?集計CGIである「webaxs.pl」を改造する必要があると思うのですが…
よろしくお願いします。

http://www.rescue.ne.jp/
ここのSSIアクセス解析を使用しています。
http://www.rescue.ne.jp/cgi/webaxs/sample/webaxs.cgi
シンプルでいいのですが、1つだけ難点が…
検索サイトなどで、?以降に検索語句が入っているものってありますよね。それが必要ないんです。
どのサイトから来たかだけがわかれば良いので、?以下を表示させず、1つにまとめてほしいのですが…
たとえば、ここ教えてgooを検索すると、
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E6%95%99%E3%81%8...続きを読む

Aベストアンサー

集計する前に、?が含むURLから?以降を削ってあげる処理を入れれば良いです。webaxs.plに追記するひつようはあろかと思います。plと書いてあるから、perlですよね?(って勝手に決め付けちゃいます)

<必要な記述>
仮にURLが入る変数を$abcとすると。
次の1行を入れれば、OK。

$abc =~ s/\?.*//;

これは、文字列置換の書き方です。
=~ は、左辺の変数を対象に、右辺の処理を施した結果を、右辺に代入しなさいということ。
s/は、これから置換するぞ!ということ。
\?.* は、?(特殊文字なので、前に\を付けてあげます)を含む、それ以降の文字列すべてを対象にします。ということ。
その後ろの//は、置き換える文字列ですが、何も入っていないですよね?これは、結局、置換対象の文字を削るということ。

<サンプル>

$abc="http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E6%95%99%E3%81%88%E3%81%A6+goo";
print $abc."\n";
$abc =~ s/\?.*//;
print $abc."\n";

集計する前に、?が含むURLから?以降を削ってあげる処理を入れれば良いです。webaxs.plに追記するひつようはあろかと思います。plと書いてあるから、perlですよね?(って勝手に決め付けちゃいます)

<必要な記述>
仮にURLが入る変数を$abcとすると。
次の1行を入れれば、OK。

$abc =~ s/\?.*//;

これは、文字列置換の書き方です。
=~ は、左辺の変数を対象に、右辺の処理を施した結果を、右辺に代入しなさいということ。
s/は、これから置換するぞ!ということ。
\?.* は、?(特殊文字なので、前...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報