Apache StormCrawler 3.4.0 发布:文本提取器重构与多项功能增强
项目概述
Apache StormCrawler 是一个基于 Apache Storm 构建的开源、分布式网络爬虫框架。它专为大规模、可扩展的网络爬取任务设计,提供了丰富的插件和扩展点,能够高效地抓取、解析和索引网页内容。StormCrawler 广泛应用于搜索引擎、数据挖掘、商业智能等领域。
版本亮点
文本提取器重大重构
在 3.4.0 版本中,开发团队对文本提取功能进行了架构层面的重构,这是本次更新的核心变化:
- 
接口化改造:原有的
TextExtractor类被重构为一个接口,这为未来的扩展提供了更大的灵活性。接口化设计允许开发者更容易地实现自定义的文本提取逻辑。 - 
默认实现更名:原来的
TextExtractor实现类现在更名为JSoupTextExtractor,更准确地反映了其基于 JSoup 库的实现本质。 - 
向后兼容性:对于大多数用户来说,如果之前没有在配置中显式指定
textextractor.class,则无需任何修改,系统会自动使用新的默认实现。只有那些自定义了文本提取器的用户需要进行适配。 
这项重构为未来支持更多样化的文本提取方式奠定了基础,比如后面会提到的 LLM 集成。
新增 LLM 文本提取器
3.4.0 版本引入了一个创新的 LLMTextExtractor,它利用大型语言模型(如 OpenAI 的 API 或兼容服务)来提取网页文本内容。这个特性为需要高质量内容提取的场景提供了新的选择:
- 能够理解网页的语义结构,提取更相关的内容
 - 适用于复杂布局或动态生成内容的网页
 - 可通过配置轻松集成各种兼容 OpenAI API 的服务
 
Solr 连接优化
针对使用 Solr 作为后端的用户,3.4.0 版本带来了两项重要改进:
- 
异步查询支持:显著提高了与 Solr 交互的效率,特别是在高并发场景下。
 - 
云模式批量更新:优化了 Solr Cloud 环境下的批量更新操作,减少了网络开销。
 
OpenSearch 缓冲配置
对于 OpenSearch 用户,新版本增加了响应缓冲区大小的配置选项,允许根据实际硬件条件和网络环境调整性能参数,这在处理大规模数据时尤为重要。
其他改进
- 
依赖库升级:包括 JSoup、Tika、TestContainers 等多个关键依赖的版本更新,带来性能提升和安全修复。
 - 
测试覆盖率改进:重新启用了测试覆盖率失败时的保留机制,便于问题诊断。
 - 
文档完善:更新了多个模块的 README 文件,明确了 Java 17 的要求。
 - 
代理管理器增强:使
ProxyManager返回 Optional 类型,提高了无代理场景下的代码健壮性。 
升级建议
对于计划升级到 3.4.0 版本的用户,需要注意以下几点:
- 
如果项目中直接使用了
TextExtractor类或通过textextractor.class配置指定了自定义实现,需要相应调整为新的接口和类名。 - 
新版本已全面转向 Java 17 环境,确保开发和生产环境兼容。
 - 
对于使用 Solr 或 OpenSearch 的用户,建议评估新特性带来的性能改进,适当调整配置参数。
 - 
考虑尝试新的 LLM 文本提取器,特别是在处理复杂网页内容时可能获得更好的效果。
 
结语
Apache StormCrawler 3.4.0 通过文本提取器的重构和多项功能增强,进一步提升了框架的灵活性和性能。特别是 LLM 集成展示了项目对新兴技术的快速适应能力,为高质量内容提取提供了新的可能性。这些改进使得 StormCrawler 在大规模网络数据采集和处理领域继续保持领先地位。
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00- DDeepSeek-OCRDeepSeek-OCR是一款以大语言模型为核心的开源工具,从LLM视角出发,探索视觉文本压缩的极限。Python00
 
MiniCPM-V-4_5MiniCPM-V 4.5 是 MiniCPM-V 系列中最新且功能最强的模型。该模型基于 Qwen3-8B 和 SigLIP2-400M 构建,总参数量为 80 亿。与之前的 MiniCPM-V 和 MiniCPM-o 模型相比,它在性能上有显著提升,并引入了新的实用功能Python00
HunyuanWorld-Mirror混元3D世界重建模型,支持多模态先验注入和多任务统一输出Python00
MiniMax-M2MiniMax-M2是MiniMaxAI开源的高效MoE模型,2300亿总参数中仅激活100亿,却在编码和智能体任务上表现卓越。它支持多文件编辑、终端操作和复杂工具链调用Jinja00
Spark-Scilit-X1-13B科大讯飞Spark Scilit-X1-13B基于最新一代科大讯飞基础模型,并针对源自科学文献的多项核心任务进行了训练。作为一款专为学术研究场景打造的大型语言模型,它在论文辅助阅读、学术翻译、英语润色和评论生成等方面均表现出色,旨在为研究人员、教师和学生提供高效、精准的智能辅助。Python00
GOT-OCR-2.0-hf阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00- HHowToCook程序员在家做饭方法指南。Programmer's guide about how to cook at home (Chinese only).Dockerfile014
 
Spark-Chemistry-X1-13B科大讯飞星火化学-X1-13B (iFLYTEK Spark Chemistry-X1-13B) 是一款专为化学领域优化的大语言模型。它由星火-X1 (Spark-X1) 基础模型微调而来,在化学知识问答、分子性质预测、化学名称转换和科学推理方面展现出强大的能力,同时保持了强大的通用语言理解与生成能力。Python00- PpathwayPathway is an open framework for high-throughput and low-latency real-time data processing.Python00