adbar/trafilatura

Python & Command-line tool to gather text and metadata on the Web: Crawling, scraping, extraction, output as CSV, JSON, HTML, MD, TXT, XML

解决的问题

Trafilatura 旨在从网络上收集文本,并将原始 HTML 转换为结构化且有意义的数据。它通过专注于实际的主要内容和元数据,解决了网页中的“噪声”问题(如页眉、页脚和模板代码),提供了一种可靠且快速的提取关键信息的方法,无需依赖数据库。

工作原理

它作为一个 Python 包和命令行工具运行,整合了网络爬取、下载和抓取功能。使用基于规则的提取器(并配有 jusText 和 readability-lxml 的回退机制),识别主要文本和元数据(如作者、日期和标题)。支持多种输入源,包括实时 URL、站点地图、Feed(RSS、ATOM、JSON)以及先前下载的 HTML 文件,并可将结果输出为 JSON、Markdown、TXT、CSV 和 XML 等格式。

适用人群

主要面向需要为自然语言处理(NLP)任务创建文本数据库或语料库的开发者、研究人员和数据科学家,也适合任何需要清理网页内容以提取结构化数据的人。

主要亮点

  • 全面的流水线:将站点地图/Feed 发现、下载和提取整合到一个工具中。
  • 高性能:在文本提取基准测试中持续优于其他开源库。
  • 高精度:有效去除模板代码和噪声,精准分离主要内容。
  • 模块化且便捷:无需数据库;支持多种输出格式,包括 XML-TEI。
  • 广泛采用:被 HuggingFace、NVIDIA 和 Microsoft Research 等组织使用。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目