首页
/ Heritrix3 3.7.0版本发布:网络爬虫工具的重大更新

Heritrix3 3.7.0版本发布:网络爬虫工具的重大更新

2025-06-16 11:46:15作者:吴年前Myrtle

项目简介

Heritrix3是一个开源的、可扩展的网络爬虫框架,由Internet Archive主导开发。作为专业级的网络爬取工具,它被广泛应用于互联网存档、数据采集和数字保存等领域。Heritrix3以其高度可配置性、稳定性和对大规模爬取任务的支持而闻名,是许多机构进行网络存档工作的首选工具。

3.7.0版本核心更新

1. Groovy爬取配置支持(实验性功能)

本次更新引入了Groovy Bean Definition DSL作为Spring XML配置的替代方案,这是一个重要的技术演进。这项实验性功能允许开发者使用Groovy语言来编写更简洁、更易读的爬取任务配置,并支持内联脚本功能。

技术意义:

  • 配置更加简洁:相比传统的XML配置,Groovy DSL可以显著减少配置文件的体积
  • 增强灵活性:支持内联脚本意味着可以在配置中直接实现简单的逻辑处理
  • 提升可读性:Groovy语法更接近自然语言,便于维护和理解

目前这一功能尚未集成到用户界面中,需要手动在作业目录中创建crawler-beans.groovy文件来使用。

2. HTML提取器新增obeyRelNofollow选项

这个新增加的选项允许爬虫跳过标记有rel=nofollow的链接,这是一个实用的反爬虫陷阱功能。

技术背景:

  • rel=nofollow是HTML中的一种属性,通常用于告诉搜索引擎不要追踪特定链接
  • 某些网站会滥用这一机制设置爬虫陷阱
  • 启用此选项后,爬虫将自动忽略这些链接,提高爬取效率

3. 修复Cookie拒绝警告问题

在3.6.0版本中,由于slf4j的变更,导致当服务器发送带有不允许域值的Set-Cookie头时,会向job.log记录不必要的警告信息。这个版本修复了这一问题,避免了日志污染。

技术影响:

  • 减少日志噪音,提高日志可读性
  • 避免管理员被大量无害警告干扰
  • 保持系统监控的准确性

技术优化

1. 移除fastutil依赖

本次更新移除了对fastutil库的少量使用,改用标准库实现,这一变化带来了显著的效果:

  • 发行包大小从51MB减少到34MB,减少了约33%
  • 降低依赖复杂度
  • 提高系统稳定性

2. 依赖项升级

3.7.0版本对多个关键依赖进行了升级,包括:

  • Jetty升级到9.4.57.v20241219
  • Spring框架升级到6.1.16
  • webarchive-commons升级到1.3.0
  • 其他多项安全性和性能更新

这些升级带来了更好的性能、安全性和兼容性。

技术价值分析

Heritrix3 3.7.0版本的发布体现了项目团队对以下几个技术方向的关注:

  1. 配置简化:通过引入Groovy DSL,降低了配置复杂度,这是对开发者体验的重要改进。

  2. 爬取效率:obeyRelNofollow选项的加入直接针对实际爬取过程中的痛点,提高了爬虫的工作效率。

  3. 系统优化:通过依赖精简和升级,使系统更加轻量化和现代化。

  4. 稳定性提升:修复日志警告等问题,提高了系统的运行稳定性。

对于需要进行大规模网络爬取的专业用户来说,3.7.0版本提供了更强大、更灵活的工具集,特别是在处理复杂网站结构和避免爬虫陷阱方面有了明显改进。Groovy配置的支持也为高级用户提供了更大的灵活性和控制力。

总结

Heritrix3 3.7.0版本是一次重要的迭代更新,在保持系统稳定性的同时,引入了多项实用新功能和优化。特别是Groovy配置支持和nofollow处理能力的增强,使得这个专业的网络爬虫工具更加易用和强大。对于依赖Heritrix3进行网络存档和数据采集的机构和个人来说,升级到这个版本将获得更好的使用体验和工作效率。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K