ブラウザの履歴データベースのテキスト出力コマンド

Copyright (C) 1999 Taiji Yamada <taiji@aihara.co.jp>


UNIX の Netscape の履歴データベースファイルって ~/.netscape/history.db にありますが、これはバイナリファイルなので more とか less とかで見てもよくわかりません。Communicator の「履歴」ウィンドウでその内容は見れますが、やはりテキストで grep とかかけたい時があると思います。例えば、「あそこのサイト、ブックマークしとくの忘れた!」とか、「自分、Linux 関係のページって今までどのぐらい見たんだろう」とかとか。

そこで、Netscape の履歴データベースから「タイトル」と「URL」を抽出し、テキストに吐き出すコマンド history-db-list を作成しました。

以下のようにすると、標準出力に一行毎に URL[TAB]TITLE の形式で出力されます。

また、HTML 形式で出力するスクリプト show-history.pl も作成しました。 これは内部で history-db-list を使っています。

但し、show-history.pl が吐き出した HTML は人によっては非常に大きくなるので、Netscape のブラウザで見るには辛いかもしれません。そこで、以下のような使い方を用意しました。

これで、履歴の中の Linux に関する URL がブラウザで閲覧できます。

また、show-history.pl を show-history.cgi というファイル名にしたとして、HTTP 経由での利用も考慮してあります。その場合、以下の URL のような使い方になると思います。

但し、そもそも ~/.netscape/history.db はオーナー以外は読み込み許可がされてませんし、~/.netscape もオーナー以外は入れませんので、HTTP 経由の使用はセキュリティやプライバシーを十分検討した上で運用しない場合は推奨できません。
 

Applications

history-db-list の応用例を紹介します。

作者は ebw3 という CD-ROM 辞書サーバを使って英単語を調べているのですが、Netscape の履歴データベースから「一度は調べたことのある、自分だけの英単語帳」というのを作ることが可能です。そのためのスクリプト show-history-ebw3-result.plshow-history.pl を元に作成し、以下のように使っています。

ちなみにここで、history-db-list の -a オプションは、最終閲覧日時、初閲覧日時、エクスパイア日時、アクセス回数の情報を付加するためのものです。

このようにすると今まで調べたことのある英単語についての自分だけの辞書が、下図のように作成されます。

show-history-ebw3-result.pl サンプル画面

また、以下のようにすると指定した日時以降に調べた英単語のみの辞書を作成します。

他にもいろいろと応用が考えられると思います。
 

Problems

Netscape の history.db のフォーマットについて良く知って作成したわけではないので、破壊されている URL を表示することがあります。調べ次第、修正しますが、詳しい方がいらっしゃいましたら教えて下されば幸いです。 <- この問題はバージョン 0.4 より解決しています。
 

History & distributions


このサイトに関するご意見ご要望は taiji@aihara.co.jp までお願いします。

Copyright (C) 1999 Taiji Yamada, All rights reserved.