fastutil is our largest dependency, consuming about a third of the total Heritrix distribution size but we only use a couple of trivial classes from it. FPMergeUriUniqFilter (which I'm not sure anyone uses anyway), uses LongArrayList so this change replaces it with a basic version that does just enough. The unsynchronized FastBufferedOutputStream usages are likely unnecessary these days thanks to the JVM's lock optimisations and for the one in CrawlerJournal, the GZIPOutputStream is still going to be synchronizing anyway.
Heritrix
Introduction
Heritrix is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawler project. Heritrix (sometimes spelled heretrix, or misspelled or missaid as heratrix/heritix/heretix/heratix) is an archaic word for heiress (woman who inherits). Since our crawler seeks to collect and preserve the digital artifacts of our culture for the benefit of future researchers and generations, this name seemed apt.
Crawl Operators!
Heritrix is designed to respect the robots.txt exclusion directives† and META nofollow tags. Please consider the
load your crawl will place on seed sites and set politeness policies accordingly. Also, always identify your crawl with contact information in the User-Agent so sites that may be adversely affected by your crawl can contact you or adapt their server behavior accordingly.
† The newer wildcard extension to robots.txt is not yet supported.
Documentation
Developer Documentation
- Developer Manual
- REST API documentation
- JavaDoc: engine, modules, commons, contrib
Latest Releases
Information about releases can be found here.
License
Heritrix is free software; you can redistribute it and/or modify it under the terms of the Apache License, Version 2.0
Some individual source code files are subject to or offered under other licenses. See the included LICENSE.txt file for more information.
Heritrix is distributed with the libraries it depends upon. The libraries can be found under the lib directory in the release distribution, and are used under the terms of their respective licenses, which are included alongside the libraries in the lib directory.