Heritrix is a web crawler designed for web archiving. It was written by the Internet Archive. It is available under a free software license and written in Java. The main interface is accessible using a web browser, and there is a command-line tool that can optionally be used to initiate crawls. Heritrix was developed jointly by the Internet Archive and the Nordic national libraries on specifications written in early 2003. The first official release was in January 2004, and it has been continually improved by employees of the Internet Archive and other interested parties. Heritrix was not the main crawler used to crawl content for the Internet Archive's web collection for many years. The largest contributor to the collection, as of 2011, is Alexa Internet. Alexa crawls the web for its own purposes, using a crawler named ia_archiver. Alexa then donates the material to the Internet Archive. The Internet Archive itself did some of its own crawling using Heritrix, but only on a smaller scale. Starting in 2008, the Internet Archive began performance improvements to do its own wide scale crawling, and now does collect most of its content.
Projects using Heritrix
A number of organizations and national libraries are using Heritrix, among them:
Older versions of Heritrix by default stored the web resources it crawls in an Arc file. This file format is wholly unrelated to ARC. This format has been used by the Internet Archive since 1996 to store its web archives. More recently it saves by default in the WARC file format, which is similar to ARC but more precisely specified and more flexible. Heritrix can also be configured to store files in a directory format similar to the Wget crawler that uses the URL to name the directory and filename of each resource. An Arc file stores multiple archived resources in a single file in order to avoid managing a large number of small files. The file consists of a sequence of URL records, each with a header containing metadata about how the resource was requested followed by the HTTP header and the response. Arc files range between 100 and 600 MB. Example: 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!!!
Tools for processing Arc files
Heritrix includes a command-line tool called arcreader which can be used to extract the contents of an Arc file. The following command lists all the URLs and metadata stored in the given Arc file : arcreader IA-2006062.arc The following command extracts hello.html from the above example assuming the record starts at offset 140: arcreader -o 140 -f dump IA-2006062.arc Other tools:
Command-line tools
Heritrix comes with several command-line tools:
htmlextractor - displays the links Heritrix would extract for a given URL
hoppath.pl - recreates the hop path to the specified URL from a completed crawl
manifest_bundle.pl - bundles up all resources referenced by a crawl manifest file into an uncompressed or compressed tar ball
cmdline-jmxclient - enables command-line control of Heritrix
arcreader - extracts contents of ARC files
Further tools are available as part of the Internet Archive's warctools project.