Webクローラ「Heritrix」を使ってみる

## はじめに

仕事で「 Heritrix 」という OSS の Web クローラを使ってみようということになったので、
使えるようになるまで、ちょっと試行錯誤した足あとでも残してみようと思う。

なんか、日本語の情報全然ないから、ちょっとでも誰かの役に立つと嬉しい。

## Heritrix について

* 公式サイト（らしきとこ）   
[Heritrix - Heritrix - IA Webteam Confluence] (https://webarchive.jira.com/wiki/display/Heritrix/Heritrix)

ちなみに、なんか情報ないか探していたら
Heritrix を使っているらしき、国立国会図書館の概要説明がわかりやすそうだった。

* 国立国会図書館が書いた Heritrix についての説明（らしきもの）   
[収集ロボット Heritrix | ウェブアーカイブのしくみ｜国立国会図書館インターネット資料収集保存事業] (http://warp.da.ndl.go.jp/contents/reccommend/mechanism/mechanism_heritrix.html)

## Heritrix のインストール

まず、公式ドキュメントに沿ってインストール等々やってみる。

* [Heritrix 3.0 and 3.1 User Guide - Heritrix - IA Webteam Confluence] (https://webarchive.jira.com/wiki/display/Heritrix/Heritrix+3.0+and+3.1+User+Guide)

downloads には 3.2.0 が最新とあったんで、これを持ってこようと思うんだけど、
ドキュメントは 3.1 までしかないということなんだろうか。まぁいいや。これで進めよう。

Linux（Fedora）環境で作成する。

### Heritrix のダウンロード

「[Heritrix Installation](https://webarchive.jira.com/wiki/display/Heritrix/Heritrix+Installation)」を参照。

たいした説明じゃなかったので、とりあえず、適当な場所にダウンロードと解凍してみた。

```
$ wget http://builds.archive.org/maven2/org/archive/heritrix/heritrix/3.2.0/heritrix-3.2.0-dist.tar.gz

$ tar pxvf heritrix-3.2.0-dist.tar.gz 
```
### Heritrix の設定

「[Heritrix Configuration](https://webarchive.jira.com/wiki/display/Heritrix/Heritrix+Configuration)」 のページに沿って、各種設定をする。

* JAVA_HOME の設定

JRE 1.6 と書いてあるけど、今の環境が JDK 1.7 だから、一旦そのままでやってみようと思う。
だめなら 1.6 に設定し直してみる。

* HERITRIX_HOME の設定

解凍した場所を設定する。私はこんな感じで。

```zsh:
export HERITRIX_HOME=/home/user/heritrix/heritrix-3.2.0
```

* 起動ファイルに実行権限を与える

起動ファイルに実行権限を与えましょう。
ちなみに私は tar.gz をダウンロードして、権限維持の解凍したから不要（既に実行権限あり）でした。

```
$ chmod u+x $HERITRIX_HOME/bin/heritrix
```

* メモリ割り当ての設定

メモリ割り当てサイズのオプションを設定。

```zsh:
export JAVA_OPTS=-Xmx1024M
```

これでいけるはず。

## Heritrix の実行

ついに実行だ！
「[Running Heritrix 3.0 and 3.1] (https://webarchive.jira.com/wiki/display/Heritrix/Running+Heritrix+3.0+and+3.1)」のページを参照。

各種コマンドの説明があるけど、英語読むのがだるいので、
ひとまず、Web UI があるっちゅーんで、試してみる。

以下のコマンドを打てば良いらしい。

```
$ $HERITRIX_HOME/bin/heritrix -a admin:admin
2014年 12月 29日 月曜日 15:20:08 JST Heritrix starting (pid 4464)..
~
一部省略 
~
engine listening at port 8443
operator login set per command-line
NOTE: We recommend a longer, stronger password, especially if your web 
interface will be internet-accessible.
```

起動したぽいので、ブラウザで確認してみる！

```
https://localhost:8443/engine
```

おー見えた見えた。

![000000.JPG](https://qiita-image-store.s3.amazonaws.com/0/62698/22303d42-a93b-08fe-ce20-92139d6f6ea4.jpeg)

![000001.JPG](https://qiita-image-store.s3.amazonaws.com/0/62698/44ab9d77-46b0-5919-0488-80a41d9ea475.jpeg)

ここから色々指定できるっぽいな～。

全然わからんｗ１つずつ調べていくしかないなぁ。

## Heritrix の Web UI を使う

### job の作成

「[A Quick Guide to Running Your First Crawl Job] (https://webarchive.jira.com/wiki/display/Heritrix/A+Quick+Guide+to+Running+Your+First+Crawl+Job)」のページを参考に、 job を作成してみようかね。

上記ページ、キャプチャも貼って手順説明されているのでわかりやすいんだけど、
バージョンが違うからか、全然 UI が違ってて・・・その辺は探りながらやってみよう。

#### 1. job ディレクトリを追加

ほい。

![000002.JPG](https://qiita-image-store.s3.amazonaws.com/0/62698/81c9787e-a543-24a3-5536-507ae0d725c4.jpeg)

できた。

![000003.JPG](https://qiita-image-store.s3.amazonaws.com/0/62698/4ee986cf-ef77-f3fb-5a87-e674a6a9b7dd.jpeg)

`test` をぽちっとな。 

#### 2. job ページを開く

ほい。

![000004.JPG](https://qiita-image-store.s3.amazonaws.com/0/62698/70766e34-ba4e-9884-16ea-bd18dcf78806.jpeg)


#### 3. 設定ファイルを開く（編集モード）

これ、ちょっと UI が違うから、探した。
上部タブバーの `Configuration` 押したら、設定ファイルの編集モードに入った。 

![000005.JPG](https://qiita-image-store.s3.amazonaws.com/0/62698/f667f98b-be3a-b8ac-4414-ecf7b35085e3.jpeg)

#### 4. 設定ファイルを編集する

今度は、何をどう編集したらいいのやら・・・
ここは別記事で書き起こさないと無理かもしれない。。。
Spring の設定ファイルだから、ちょっと Spring のお作法を勉強しないとダメですかねぇ。

java のファミリーにしては、えらく可愛いのね、 [Spring](http://spring.io/) って。
葉っぱかぁ・・・春の芽吹きってことかね？

今日はこんなとこで。

以上