fc2ブログ

2024.12 «  - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - » 2025.02
TOP >

BACK | TOP | NEXT

【Rubyでアクセス解析 その4】apacheログファイルを読み込む 

2010年11月04日 ()
やるっきゃないと土井先生のように宣言したからには、何かしら成果を残そうと思いました。

apacheログファイルを読み込むところまでは、なんとか形にしてみました。

色んな課題が途中で入ってきて大変でしたけどね。

例えば
・apacheログの標準の日時フィールドは[と]で囲まれているから、パースするのが大変
→[と]をダブルクォーテーションに置換して対処
・apacheログの標準の日時フィールドの文字がParseDate::parsedateでは解釈できない
→解釈できるように日時フィールドの値を置換して対処
・apacheログの標準フォーマットではユーザをユニークに判別するフィールドはユーザーエージェントぐらいしかない
→これはしょうがない

そして以下のような課題がまだまだ残ってます!

・keyword取得
・UserIDがuser-agentになっているが、apache提供のユニークIDフィールドや、ユーザのIPアドレスも加味した形でUserIDを振りたい
・apacheログの要素の場所が固定
・アウトプットがまだ



今の段階のソースコードを参照したい方は以下のコマンドでどうぞ

git clone http://github.com/rorkaido/farfalle.git
cd farfalle/
git checkout v0.2



もー、簡単な指標しか出さないのに意外と壁は厚い・・・次回もがんばろう!(たぶん3ヶ月後・・・ってか?)

【広告】

[2010.11.04(Thu) 00:20] Rubyでアクセス解析Trackback(0) | Comments(0) 見る▼
↑TOPへ

【Rubyでアクセス解析 その3】機能を絞る 

2010年11月03日 ()
apache のログって調べてみたら暴れん坊さんですね。

取り敢えずは機能を絞ってプログラムを作らないと、とんでもなく柔軟にいろんな事に対応しなくてはならなさそうな予感がしてきました。

なんでかっていうと

1. 日付ごとにaccess_logファイルが必ずしも作成される訳ではない
2. ブラウザごとにユニークなIDが必ずしも付与されている訳ではない

ですので、以下のような機能に絞れば、それなりに作れそうな気がしてきました。

1. インプットは複数ファイルもOK
2. 日別の指標しか集計しない
3. URLのPVとUU, キーワードの流入数と流入UUしか集計しない
(↑セッションという概念が入ると、ユーザ・日時順にソートしなくてはならないので、インプットがガチガチに固まっていない限り相当面倒)

よしではこれから作るぞ!

【広告】

[2010.11.03(Wed) 12:48] Rubyでアクセス解析Trackback(0) | Comments(0) 見る▼
↑TOPへ

【Rubyでアクセス解析 その2】githubに登録しました 

2010年10月25日 ()
やべぇ何にも前に進んでないんですけど。
なので、githubにプロジェクトを登録してどんどん前に進めるように環境を整えることにしました。

とは言っても、現段階でgithubに登録したのは空のプロジェクトですけど。

しかもファルファッレといういかにも適当につけましたというプロジェクト名にしました。リングィーネの方が良かったかな?といらぬ心配。

以下にgithubにプロジェクトを公開するまでの手順をメモっておきます。

# githubで新しいプロジェクト名を登録してから以下の手順を行う。今回は「farfalle」というプロジェクト名にした
# 追加しようとしているプロジェクトのルートディレクトリに居るという仮定で以下を始めます。
vi README
git add README
git commit -m ' empty repo version to kick off' # ここは適切なコメントを入れるのです
git remote add origin [email protected]:rorkaido/farfalle.git # 「rorkaido/farfalle.git」の部分は適宜変えないといけない
git push origin master
git tag v0.1 # タグも付けてみるけど、毎回のコミットにタグを付ける必要はない
git push origin v0.1




以下のコマンドで今回までのプロジェクトを取得することができます。

git clone http://github.com/rorkaido/farfalle.git
cd farfalle/
git checkout v0.1



次こそは、何かしらのコードを書いていきたい。一年後ぐらいか?!

【広告】

[2010.10.25(Mon) 00:14] Rubyでアクセス解析Trackback(0) | Comments(0) 見る▼
↑TOPへ

【Rubyでアクセス解析 その1】手始めに 

2010年10月18日 ()
お久しブリッコ

今年を振り返ってみると、様々な新しいことに挑戦している(時期もあった)ので、Rubyでも新しいことをやってみようと思い、簡易なアクセス解析ツールを作って、公開してみようと奮い立ちました。

まさしく今日から一から作る(と意気込んでいる)ので、先は見えず期待と不安だらけですが、コツコツと積み重ねてみよう。

まずは、ゴールの設定

■入出力
 ■アパッチログを読み込む
 ■月別・日別のページビュー数、ユニークブラウザ数、セッション数、キーワードランキングを出力する
■公開するところ
 ■github

うーん、欲張り過ぎ?まあ、難しそうだったらゴールを易しくします。

では、次回はgithubに登録して使用してみようかと思います。


【広告】

[2010.10.18(Mon) 08:46] Rubyでアクセス解析Trackback(0) | Comments(2) 見る▼
↑TOPへ


COMMENT

気長に楽しみにしています! by アクセス解析レビュー
ブログにアクセス解析などのレビューをしています。

良かったらご覧ください!

アクセス解析ができるの、楽しみにしていますね。

本当に気長に待っていてください by 自分
ブログ拝見しました。今はtwitterのアクセス解析がアツいですよね。

私のツールはまだまだ完成しません >< 気長にお待ち下さい。

今はgitでの公開をどうしようか四苦八苦していてまだ全然プログラムを作ってなかったりします。

コメントを閉じる▲

sqlite で SELECT INTO 

小ネタでドーン!

sqlite で

SELECT * INTO table2 FROM table1



っぽいことをやりたい場合は

CREATE TABLE table2 AS SELECT * FROM table1



とするとよろしいよ。

【広告】

[2010.06.15(Tue) 09:47] sqliteTrackback(0) | Comments(0) 見る▼
↑TOPへ

BACK | TOP | NEXT