Heritrix

Heritrix はインターネット・アーカイブが開発したウェブアーカイブのためのWebクローラーの一種。Java言語で実装され、フリーソフトウェアライセンスにより自由に利用できる。主にウェブブラウザを使って操作するが、コマンドラインツールを使ってクロールを開始するなどの操作も可能である。名前は「(女性の)相続人」を意味するheiressの古語に由来する。

Heritrixの開発は、2003年にまとめられた仕様に基づいて、インターネット・アーカイブとNordic National Librariesの共同で行われた。最初のリリースは2004年1月で、その後インターネット・アーカイブの従業員や外部のウェブアーカイブに関心を持つ人々によって継続的に改良が続けられている。

もっともHeritrixがインターネット・アーカイブ自身のウェブ収集に使われるようになったのはかなり後のことである。かつてはアーカイブの大半はアレクサ・インターネット社から提供されていた。アレクサ社は自身の業務に供するため独自のia_archiverと呼ばれるクローラーを使ってウェブ収集を行っており、収集したデータをインターネット・アーカイブに寄贈している。当初インターネット・アーカイブ自身もHeritrixを使って収集を行ってはいたが、小規模なものに留まっていた。

2008年からインターネット・アーカイブは自身の全ウェブ規模のクローリングの性能を向上させ、現在では自身で収集したものが大半を占めるようになっている。

Heritrixの利用事例 
様々な組織、各国国立図書館などがHeritrixを利用している。例えば:
 Austrian National Library, Web Archiving
 Bibliotheca Alexandrina's Internet Archive
 Bibliothèque nationale de France
 British Library
 California Digital Library's Web Archiving Service
 CiteSeerX
 Documenting Internet2
 Internet memory
 Library and Archives Canada
 Library of Congress 
 National and University Library of Iceland
 National Library of Finland
 National Library of New Zealand
 National Library of the Netherlands (Koninklijke Bibliotheek)
 Netarkivet.dk
 Smithsonian Institution Archives
 National Library of Israel
 国立国会図書館 インターネット資料収集保存事業 (WARP)

Arcファイル 
初期のHeritrixは(特に変更しなければ)収集したウェブ資料をArcファイルに保存していた。ここでいうArcファイルは汎用のアーカイブファイルフォーマットであるARCファイルとは無関係で、ウェブアーカイブのためにインターネット・アーカイブが1996年に設計したファイル形式のことである。その後、仕様がより精密で拡張性に優れるWARCファイルに保存するように変更され、現在に至る。Heritrixの設定を変更すればWgetのようにURLをディレクトリとファイル名に対応付けて保存することもできる。</div>多数の小さいファイルを扱う煩雑さを避けるため、Arcファイルは複数のウェブ資料を単一のファイルにまとめて保存する。HTTPヘッダとレスポンス本体の前に資料の取得方法に関するメタデータをつけたものを一つのURLレコードとし、これを複数結合した形式である。Arcファイルの先頭には通称filedescと呼ばれる、Arcファイル全体に関するメタデータを記録した特別なレコードを配置する。これには以降に続くURLレコードのメタデータヘッダ行の形式の記述が含まれる。Arcファイルの大きさは通例100から600 MB程度である。

例:
 filedesc://IA-2006062.arc 0.0.0.0 20060622190110 text/plain 76
 1 1 InternetArchive
 URL IP-address Archive-date Content-type Archive-length
 
 http://foo.edu:80/hello.html 127.10.100.2 19961104142103 text/html 187
 HTTP/1.1 200 OK
 Date: Thu, 22 Jun 2006 19:01:15 GMT
 Server: Apache
 Last-Modified: Sat, 10 Jun 2006 22:33:11 GMT
 Content-Length: 30
 Content-Type: text/html
 
  Hello World!!!

Arcファイルを処理するツール 
Heritrixにはarcreader と呼ばれるArcファイルを処理するコマンドラインツールが付属している。例えば、Arcファイルに保存されているすべてのURLとメタデータの一覧をCDX形式で得るには、次のように実行すればよい:
 arcreader IA-2006062.arc
また、上記の例のhello.htmlを取り出すには次のように実行する(レコードが頭から140バイトの位置にあると仮定):
 arcreader -o 140 -f dump IA-2006062.arc
Heritrixに付属するもの以外にも、ツールが開発されている:
 Arc processing tools
 WERA (Web ARchive Access)

付属のコマンドラインツール 
Heritrixには各種のコマンドラインツールが付属する:
 htmlextractor - 指定のURLからHeritrixと同じ方法でリンクを抽出して表示するもの
 hoppath.pl - 完了したクロールの記録から、指定のURLへのホップ・パス(リンクの連鎖)を再現するもの
 manifest_bundle.pl - クロール・マニフェストファイルに列挙されているすべての記録情報をまとめ、Tarアーカイブに保存するもの
 cmdline-jmxclient - Heritrixをコマンドラインから制御するためのもの
 arcreader - Arcファイルから資料を取り出すもの(前掲)
インターネット・アーカイブのwarctoolsプロジェクトにもツールがある。

関連項目 
 インターネットアーカイブ
 National Digital Information Infrastructure and Preservation Program
 クローラ

脚注 

As of this edit, this article uses content from "Re: Control over the Internet Archive besides just “Disallow /”?", which is licensed in a way that permits reuse under the Creative Commons Attribution-ShareAlike 3.0 Unported License, but not under the GFDL. All relevant terms must be followed.

外部リンク 
正式リポジトリ
 internetarchive/heritrix3 (GitHub)
インターネット・アーカイブ開発のツール群
 Heritrix - official wiki
 NutchWAX - search web archive collections
 Wayback (Open source Wayback Machine) - search and navigate web archive collections using NutchWax
その他のツール
 Arc file format
 How to run Heritrix in Windows
 WERA (Web ARchive Access) - search and navigate web archive collections using NutchWAX

ネットワークソフト