heritrix
heritrix
Heritrix是一款基于Java开发的开源网络爬虫工具,具有优秀的可扩展性和灵活性,允许用户自定义抓取逻辑。该工具旨在从互联网上抓取所需资源,并已成功应用于构建大型网络数字图书馆
特征
Heritrix的主要特征包括:
1. 支持多站点并发递归爬取。
2. 能够从指定种子开始,精准地采集特定网站或主机下的URL。
3. 使用广度优先算法进行处理。
4. 各组件高效且可扩展。
5. 提供丰富的配置选项,如日志位置、归档文件位置、临时文件位置等。
6. 可设定下载大小上限、下载文档数量上限及下载时间上限。
7. 可调整工作线程数和带宽上限。
8. 包含多种可配置的过滤机制和表达式。
9. 对于未在范围内的情况,提供重试功能。
10. 提供了多种类型的爬行纲,如宽带爬虫、主题爬虫、持续爬虫和实验爬虫。
局限性
Heritrix的一些限制包括:
1. 单一实例爬虫无法协作。
2. 在资源受限情况下,操作可能变得复杂。
3. 官方仅在Linux平台上进行了测试。
4. 每个爬虫独立运行,缺乏对更新的追踪。
5. 硬件或系统故障时,恢复能力较弱。
组件架构
Heritrix的核心组件包括范围部件、边界部件和处理器链。其中,范围部件用于根据规则确定应放入队列的URI;边界部件负责跟踪待收集和已收集的URI,选择下一个URI并排除已处理的URI;处理器链则包含了多个处理器,用于获取URI、解析结果并将数据传递回边界部件。
控制台及其他组件
除了核心组件外,Heritrix还包括WEB管理控制台,这是一个单机WEB应用程序,内置JAVA HTTP服务器。通过选择Crawler命令,操作员可以访问和控制控制台。此外,还有Crawler命令处理部件、Servercache(处理器缓存)等其他组件,分别用于处理Crawler命令、存储服务器相关信息以及提供处理器缓存服务。
发展历程
Heritrix项目始于2003年初,旨在开发一款专门用于归档互联网资源的网络爬虫。在过去几年中,该项目已经积累了超过400TB的数据。目前最新的版本为heritrix-3.1.0。
参考资料
Heritrix架构简述.CSDN.2024-08-24
Heritrix使用小结.博客园.2024-08-24
目录
概述
特征
局限性
组件架构
控制台及其他组件
发展历程
参考资料