huginn : WWW 更新時刻取得システム
huginn(フギン)は、perl汎用のWorld Wide Web更新時刻取得システムです。
huginnの実行環境
動作サンプル
こちらにてサンプルが動いてます。
huginnの開発状況
- 2002.08.03[2.01a6] 取得時メタ情報優先順位を変更。
- 2002.07.23 取得設定にnoremoteオプションを追加
- 2002.03.08 マクロに"%0d"を追加。
- 2002.02.28 内容物にhuginn_testmacro.plを追加。マクロ処理を少しだけマシに。
- 2002.02.18 クロスサイトスクリプティング脆弱性対策版2.01a2
- 2002.01.29 こっそり開発していた2.01a1版を公開。
- tar.gz形式アーカイブ
- 内容物
- libhuginn.pm:ライブラリ
- DateCheck.pl:時刻取得スクリプトサンプル
- huginn.conf:設定ファイル1
- dot.huginnrc:設定ファイル2
- huginn_testmacro.pl:マクロ確認用スクリプト
使い方
- アーカイブを取得し、適当な場所で解凍。
- libhuginn,pm、huginn.confを、perl5のライブラリ読み取りパスに入れる。(PERL5LIB環境変数で設定する、適当なsite-perlディレクトリに入れる、スクリプト実行時に@INCで設定する、など)
- huginn.confを適当に書き変える。$resulthtmlとか$gzipとかがわりと重要。
- huginn.confで設定した場所に、'dot.huginnrc'を'.huginnrc'に改名して入れる。
- .huginnrcに、取得したいページのエントリを記述する。
- DateCheck.plを動かします。ネットワークにガシガシと負荷をかけながら、huginn.confで設定したいろんなファイルがごそごそと作られます。
- ちゃんと動作しているようなら、cronでぶん回すなり、定期的に手動で動かすなり、お好みに合わせて環境構築してください。
なんかめんどくさいと思ったら、.huginnrcだけホームディレクトリに置いて、他は全部同じディレクトリに放りこんでください。たぶんなんとかなります。
設定ファイルの記述方法については、サンプルをみて根性入れてください。あるいは、YaPw:libhuginnの.huginnrc書き方とかを見てもよいかと思います。よーわからんかったらどーにかして質問してください。そうするとドキュメントが増えて幸せになれます。
書こうとするマクロが正しいもんかどうかは、huginn_testmacro.plでテストできます。% ./huginn_testmacro.pl 'マクロ'
とかやってください。
取得方法
以下の順で更新時刻情報の取得を試します。
- リモート情報(hina.di、hina.txt、LIRS)
- HEADリクエストで取れる最終更新時刻
- GETリクエストで取得した本文中の、それっぽい文字列
- GETリクエストで取得した本文の長さの変化量
バカスカ出力が変わる困ったちゃんなiswebやらgeocitiesのためにそれ用のフィルタもあったりします。動作はあんまり保証しません。使い方は適当にどうぞ。
今後の予定
- hina.diとか吐くようにする(書きかけで止まってる)。
- 設定ファイルを一つにまとめる。
- ドキュメントを書く。
- コードを整理する。
- メタ情報流通系での思考の結果を反映させて、メタ情報流通・交換系に育てるかも。大改造っていうか別物になると思うけど。
- その他なんぞあるならこちらに書きこむとよろし。
過去のバージョン
2.01a5版
:tar.gz形式アーカイブ
2.01a4版
:tar.gz形式アーカイブ
2.01a3版
:tar.gz形式アーカイブ
2.01a2版
:tar.gz形式アーカイブ
1.20版
:時刻取得スクリプト本体、実行用ライブラリ、設定ファイルサンプル
名前の由来
huginnは、北欧神話の神オーディン(Odin)の持つ二羽のカラスの片割れで、「思考」を象徴するものです。
権利表示
huginn の改造・利用は基本的に自由です。ただし、改造の有無に関わらず、再配布の際には、取得者になんらかの形で原情報所在地へのポインタ(2002年2月28日現在:http://white.vis.ne.jp/huggin/)を明示してください。