huginn
huginn(フギン)は、perl汎用のWorld Wide Web更新時刻取得システムです。
おしらせ.
ページの場所を変えました。http://white.niu.ne.jp/yapw/yapw.cgi/huginnが、今後の正式公開ページになります。
実行環境.
- perlのバージョン5以降が必要です。
- jcode.plが必要です。一次配布元(ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/)などから取得してください。
- 動作には、設定ファイルの準備が必要です。
動作サンプル.
http://ynwhite.dyndns.org/~white/ にて、サンプルが動いてます。
最新版ダウンロード.
2.05版 tar.gz形式
内容物.
- libhuginn.pm:ライブラリ
- DateCheck.pl:時刻取得スクリプトサンプル
- huginn.conf:設定ファイル1
- dot.huginnrc:設定ファイル2
- huginn_testmacro.pl:マクロ確認用スクリプト
BBS.
動作報告 / エラー報告 / 設定よくわかんない / 機能要望 その他にどうぞ。
ynakata(2016/05/13 10:28)ANQpXQZzfknyin?WQ
somebody(2016/05/13 10:28)VrfAoeqXi?B
somebody(2016/05/12 14:34)OqiCGzbeSaolRa?
somebody(2015/10/25 17:54)HWYgtWtou?
somebody(2015/10/24 22:01)ImUTjBeaGNvy?U
somebody(2015/10/24 22:01)GLspnUNr?
somebody(2015/10/23 20:09)KOwqAOvZnth?
somebody(2015/10/23 17:02)AOaVThhLBnMu?NE
somebody(2015/10/22 21:50)UqOUr?BEI
somebody(2015/10/22 14:22)lsDElWlLhEsYyyty?VGK
somebody(2015/10/22 12:32)RPLbNCNj?
somebody(2015/08/08 08:54)BptdeuFoSYKrdxu?
somebody(2015/05/01 09:21)fjaUkOjkMIHTUh?
somebody(2015/04/26 20:08)MpYHrfhrl?IQTK
somebody(2015/04/26 20:08)MzrPBOiInTAdHtw?X
somebody(2015/04/26 20:08)ZSRVVhLXDqVBxDyntc?R
somebody(2015/04/19 01:03)STrjGzMaWn?
somebody(2015/01/07 23:40)bcHkSHEgsOlk?
somebody(2014/10/17 22:51)zpUyGEwhmhkbuuAp?
somebody(2014/05/25 23:49)scIiZXAZvWvWXWMWy?
somebody(2014/04/09 00:46)kQZCZCcFmEkJwJi?S
somebody(2013/11/21 22:01)TJQjZzEGDo?
somebody(2013/11/21 21:54)nQZZMvXhLPJpno?MTOP
somebody(2013/11/21 15:16)qnYUiLRpHceTFAtv?
somebody(2013/11/20 23:53)BLqJxaTTpKds?
somebody(2013/11/20 08:08)BEbKPxe?KD
somebody(2013/11/20 03:20)HUHHMlqQTQiBkdz?
somebody(2013/11/19 07:27)dZcGAddaGsZuHcGdBb?N
somebody(2013/11/05 19:01)pvgWRGQRgIFcGSd?YS
somebody(2012/10/11 23:16)yyzTWIPxwFxHMSgq?
ynakata(2012/08/16 19:14)TGtAHHcpjsXx?
somebody(2012/08/16 19:14)wOhZlViQsoolIk?
ynakata(2012/08/16 19:14)ZFHjgTww?
somebody(2012/08/16 19:13)AFWueNrCAkugg?
somebody(2012/08/16 06:43)WXCgiyhxqSjPAQg?
somebody(2012/07/09 03:33)pEOgoXZEjqCILkyoyUe?
久我瑞貴(2009/06/03 01:35)ynakata様へ。回答ありがとうございました。どうもシステムを根本的に勘違いしていたようです。ご迷惑をおかけしました。
ynakata(2009/06/02 11:29)huginnでやれるようなことをしたいのなら、はてなアンテナ http://a.hatena.ne.jp/ あたりを使えばいいんじゃないかと思います。もしくは最近ならRSSリーダーとか。
久我瑞貴(2009/06/02 11:08)サイトの更新をしたいのですが、最初から最後まで正直まったくわかりません。このhuginn以外で更新することはできないのでしょうか?
somebody(2005/02/20 22:42)
使い方.
- アーカイブを取得し、適当な場所で解凍。
- 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だけホームディレクトリに置いて、他は全部同じディレクトリに放りこんでください。たぶんなんとかなります。
設定ファイルの記述方法については、サンプルをみて根性入れてください。あるいは、dot.huginnrcとかを見てもよいかと思います。よーわからんかったら質問してください。そうするとドキュメントが増えて幸せになれます。
書こうとするマクロが正しいもんかどうかは、huginn_testmacro.plでテストできます。% ./huginn_testmacro.pl 'マクロ'とかやってください。
利点.
同種のソフトと比べたときのアピールポイントみたいな
-
設定ファイルが1エントリ=1行
- viとか使う人なら幸せだと思います。
- ページの指定にマクロが使えるので、定まった最新版ファイルがない日記サイトに対応できます。
DateCheck.plのオプション.
-fullcheck | (無指定時と同じ動作) リモート情報を取得し、リモートで取得できなかったページについてはHTTPのHEAD/GETメソッドを使って情報を取得します。 |
-nocheck | 情報を取得せず、.huginnDBにキャッシュされた情報のみを使ってページを更新します。 |
-remoteonly | リモート指定された取得先の情報のみを取得してから、ページを更新します。 |
-debug | 動作時に、デバッグ出力を出すようにします。 |
-rcfile | 標準の .huginnrc 以外のファイルをrcファイルとして指定します。 |
取得方法.
以下の順で更新時刻情報の取得を試します。
- リモート情報(hina.di、hina.txt、LIRS、huginnDB)
- HEADリクエストで取れる最終更新時刻
- GETリクエストで取得した本文中の、それっぽい文字列
- GETリクエストで取得した本文の長さの変化量
バカスカ出力が変わる困ったちゃんなiswebやらgeocitiesのためにそれ用のフィルタもあったりします。動作はあんまり保証しません。使い方は適当にどうぞ。
今後の予定.
- hina.diとか吐くようにする(書きかけで止まってる)。
- 設定ファイルを一つにまとめる。
- ドキュメントを書く。
- コードを整理する。
- メタ情報流通系での思考の結果を反映させて、メタ情報流通・交換系に育てるかも。大改造っていうか別物になると思うけど。
- その他なんぞあるならこちらに書きこむとよろし。
開発状況.
- 2007.01.03 2.05 取得時に3xx系のステータスを出したエントリが表示上位に来るように変更
- 2006.05.16 2.04.5 dc:date 形式の日付記述のパースに対応
- 2005.09.24 2.04.4 vuri / 2ch.net対応機能の追加
- 2004.04.08 2.04.3 DB読み込み関連の修正
- 2004.01.20 2.04.2 マクロ'%M'関連の修正
- 2004.01.02 2.04.1 日付→UTC変換のバグを修正。
- 2003.09.11 2.04 URLに"?"が入っている場合のタイムスタンプの付け方を変更
- 2003.06.11 2.03 完全スペルのアルファベット月表記に対応
- 2003.05.08 2.02 notimestampオプションの追加 , slashcodeフィルタの追加
- 2002.10.02 2.01a7 huginnDBのインポート機能を追加。
- 2002.08.03 2.01a6 取得時メタ情報優先順位を変更。
- 2002.07.23 2.01a5 取得設定にnoremoteオプションを追加
- 2002.03.08 2.01a4 マクロに"%0d"を追加。
- 2002.02.28 2.01a3 内容物にhuginn_testmacro.plを追加。マクロ処理を少しだけマシに。
- 2002.02.18 2.01a2 クロスサイトスクリプティング脆弱性対策版2.01a2
- 2002.01.29 2.01a1 こっそり開発していた2.01a1版を公開。
- ???? 1.20版: 時刻取得スクリプト本体、実行用ライブラリ、設定ファイルサンプル
名前の由来.
huginnは、北欧神話の神オーディン(Odin)の持つ二羽のカラスの片割れで、「思考」を象徴するものです。
権利表示.
huginn の改造・利用は基本的に自由です。ただし、改造の有無に関わらず、再配布の際には、取得者になんらかの形で原情報所在地へのポインタ(2004年1月2日現在:http://white.niu.ne.jp/yapw/yapw.cgi/huginn)を明示してください。