2009年9月7日月曜日

Heritrix on Windows 2nd

前回のつづき、Windows XPで動かしたら上手くいかなかったので、今度は推奨環境にあわせて、手持ちのLinux(CentOS4.7)で実行した。

普通にコマンドラインで立ち上げてから、管理画面(localhost:8080)にブラウザで接続し、デフォルトProfileの設定内容を確認してみる。Windowsでは初期値が上手く取得出来ていなかったところ。

下記が、デフォルトProfileのModules設定内容一覧

Select Crawl Scope
org.archive.crawler.deciderules.DecidingScope

Select URI Frontier
org.archive.crawler.frontier.BdbFrontier

Pre Processors Processors
org.archive.crawler.prefetch.Preselector
org.archive.crawler.prefetch.PreconditionEnforcer

Fetchers Processors
org.archive.crawler.fetcher.FetchDNS
org.archive.crawler.fetcher.FetchHTTP

Extractors Processors
org.archive.crawler.extractor.ExtractorHTTP
org.archive.crawler.extractor.ExtractorHTML
org.archive.crawler.extractor.ExtractorCSS
org.archive.crawler.extractor.ExtractorJS
org.archive.crawler.extractor.ExtractorSWF

Writers Processors
org.archive.crawler.writer.ARCWriterProcessor

Post Processors Processors
org.archive.crawler.postprocessor.CrawlStateUpdater
org.archive.crawler.postprocessor.LinksScoper
org.archive.crawler.postprocessor.FrontierScheduler


このProfileをベースに新しいJobを作成する。
Modulesは、とりあえず初期値のままとして、設定が必須なのは、Settiongsのuser-agent:とfrom:の部分だけのようだ。ドキュメントに従い下記を設定する。

user-agent: my-heritrix-crawler (+http://mywebsite.com)
from: 自分のメールアドレス

ここで注意が必要なのは、user-agent:の書式で、括弧"("やプラス"+"も含めて書式が決まっている。間違うとJobの実行時にエラーになるので注意。

あと、うまくクロール出来ない場合の対応として、ホスト名をIPアドレスにするとうまくいくみたい。こちらの環境依存だと思うけど、ホスト名にするとJobがいつまでたっても先に進まず止まってしまう…なぜ?
とりあえず、イントラネット利用が目的なので、IPアドレスを指定することとする。

0 件のコメント: