ハードなソフトの話

アクセスカウンタ

zoom RSS ウェブリブログを自力でアクセス解析(4)〜複数日分のデータをデータベースファイル化〜

<<   作成日時 : 2009/08/27 21:43   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

1日分のログが入ったHTMLファイルをTSVに変換して統計を取ったところで、わかることは少ない。
そこで、日々のデータをMicrosoft Access用のファイルに出力することにした。
結果的に過去に書いたVBScriptよるデータベース操作用のスクリプトとHTMLファイルを解析してタブ区切りテキストにするPerlスクリプトをバッチファイルで制御で制御するという、昨日の晩御飯のオカズとか残りものでつくったんだけれど美味しいのかしらん?みたいな状態になった。
できあがったバッチファイル wbalog-db.bat の中身はこんな感じ…。
setlocal
set logdata=wbaccess.mdb
set DOWNLOADS=%userprofile%\downloads
set archive=%DOWNLOADS%\archive

if "%1"=="new"    call :new
if "%1"=="import" call :import
goto :eof

:new
if exist %logdata% del %logdata%
cscript //nologo createmdb.wsf %logdata%
cscript //nologo jetsql.vbs wbaccess.mdb "create table t_accesslog (日付時刻 DateTime, アクセス対象ページURL Text(255), リンク元ページURL Text(255), 参照数 Long )"
cscript //nologo jetsql.vbs wbaccess.mdb "create index t_accesslog_日付時刻 on t_accesslog ( 日付時刻 ASC ) with disallow null"
goto :eof

:import
if not exist %archive% mkdir %archive%

for %%f in ( %DOWNLOADS%\2009*.html ) do (
    if not exist %archive%\%%~nxf (
        perl wbalog2tsv.pl %%f |logparser -i:tsv -o:SQL -oConnString:"Driver={Microsoft Access Driver (*.mdb)};Dbq=%CD%\%logdata%"  -stats:off "select 日付時刻,アクセス対象ページURL,リンク元ページURL,参照数 into t_accesslog from STDIN"
        move %%f %archive%\%%~nxf
    )
)
goto :eof

endlocal


このバッチファイルには、new と import の2つのモードがある。

new モードは、Microsoft Access 2003で使われいている MDB ファイルを生成し、その中にデータ保管用のテーブルを作成する。MDBファイルはデフォルトでカレントディレクトリに wbaccess.mdbという名前で作成される。
実行方法はこんな感じ…
wbalog-db.bat new


importモードは%USERPROFILE%¥DownloadsにあるHTMLファイルを wbaccess.mdbにインポートする。
実行方法はこんな感じ…
wbalog-db.bat import


newモードは最初に1度データベースを作成するのに使う。
importモードはhtmlファイルをダウンロードするたびに手動で実行すれば十分だと思う。

ただし、このバッチファイルでは3つのスクリプトファイルと1つのログ解析ツールを使用している。
createmdb.wsf★空のMDBファイルを作成する
「よく忘れるWSF(2)〜runtimeタグとかobjectタグとかshowusageメソッドとか」
( http://hardsoft.at.webry.info/200908/article_14.html )
jetsql.vbs★指定MDBファイルに対してSQLを実行する
「コマンドラインからMDB/ACCDBファイルのデータをSQLで抽出する」
( http://hardsoft.at.webry.info/200908/article_5.html )
wbalog2tsv.pl★HTML形式のログをタブ区切りテキストに変換
「 ウェブリブログを自力でアクセス解析(3)〜文字化け対策〜 」
http://hardsoft.at.webry.info/200908/article_12.html
logparser 2.2★TSVファイルをODBC経由でMDBファイルに転送する
※本来はログの解析に使うユーティリティ
「Log Parser 2.2 日本語版」
( http://www.microsoft.com/japan/technet/scriptcenter/tools/logparser/default.mspx )

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
ウェブリブログを自力でアクセス解析(4)〜複数日分のデータをデータベースファイル化〜 ハードなソフトの話/BIGLOBEウェブリブログ
文字サイズ:       閉じる