trafilatura

GitHub
5.7k 352 非常简单 1 次阅读 今天Apache-2.0开发框架数据工具插件语言模型
AI 解读 由 AI 自动生成,仅供参考

Trafilatura 是一款强大的 Python 库与命令行工具,专为从互联网高效采集文本和元数据而设计。它能将杂乱的原始 HTML 网页转化为结构清晰、内容纯净的数据,支持直接输出为 CSV、JSON、Markdown、TXT 等多种常用格式。

在网页数据采集过程中,用户常面临广告、导航栏、页脚等“噪音”干扰,导致提取内容质量低下。Trafilatura 通过智能算法精准识别并提取正文核心、标题、作者、发布日期及评论等关键信息,有效过滤无关元素,在确保高准确率的同时兼顾内容的完整性,显著提升了数据清洗的效率。

这款工具非常适合开发者、数据科学家、自然语言处理研究人员以及需要构建大规模语料库的机构使用。无论是进行实时网址爬取,还是批量处理本地已下载的 HTML 文件,Trafilatura 都能轻松应对。其技术亮点在于集成了先进的爬虫策略(如站点地图和 RSS 订阅源支持)、并行处理能力,以及平衡精度与召回率的提取算法。凭借稳健的性能和模块化设计,它已被 HuggingFace、微软研究院及多所知名高校广泛应用于各类前沿项目中,是网页文本挖掘领域的可靠选择。

使用场景

某新闻分析团队需要每日从数千个不同结构的新闻网站抓取文章正文、发布时间和作者信息,以构建行业舆情数据库。

没有 trafilatura 时

  • 清洗成本极高:抓取的 HTML 包含大量导航栏、广告和页脚噪音,需为每个网站编写独立的正则规则来剔除干扰内容。
  • 元数据提取困难:发布时间、作者等关键信息隐藏在复杂的 DOM 结构中,传统解析器经常遗漏或提取错误。
  • 维护噩梦:一旦目标网站改版,原有的提取脚本立即失效,团队需投入大量人力反复修补代码。
  • 格式转换繁琐:原始数据杂乱无章,后续还需额外编写代码将其统一转换为 CSV 或 JSON 供分析模型使用。

使用 trafilatura 后

  • 智能去噪提纯:trafilatura 自动识别并提取核心正文,精准过滤头部、尾部及广告干扰,无需针对单站定制规则。
  • 元数据一键获取:内置算法能自动发现并结构化输出标题、作者、日期及分类标签,显著提升数据完整性。
  • 鲁棒性强免维护:面对网站结构微调,trafilatura 凭借通用算法仍能稳定工作,大幅降低了脚本维护频率。
  • 多格式灵活输出:支持直接导出为 CSV、JSON 或 Markdown 等多种格式,数据可直接流入下游分析管道。

trafilatura 将原本耗时数天的非结构化网页清洗工作缩短至小时级,让团队能专注于高价值的舆情洞察而非数据预处理。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes该工具主要用于网页文本提取和爬虫,无需数据库。支持命令行和 Python 库调用。可选安装语言检测组件和速度优化插件。版本 1.8.0 之前使用 GPLv3+ 许可证,之后使用 Apache 2.0 许可证。
python3.6+
courlan
htmldate
justext
lxml
urllib3
trafilatura hero image

快速开始

Trafilatura:发现并提取网络上的文本数据


Trafilatura Logo

Python 包 Python 版本 文档状态 代码覆盖率 下载量 引用 DOI: 10.18653/v1/2021.acl-demo.15


演示 GIF 图片

简介

Trafilatura 是一款尖端的 Python 库和命令行工具,旨在 从网络上收集文本,并简化将原始 HTML 转换为结构化、有意义数据的过程。它包含了执行 网络爬取、下载、抓取和提取 主要文本、元数据及评论所需的所有必要组件。其设计目标是保持 便捷性和模块化:无需数据库,输出可转换为常用格式。

从大量 HTML 中提取关键内容,能够有效缓解许多与文本质量相关的问题,通过 聚焦实际内容避免由页眉、页脚等重复元素带来的噪声,以及 利用精选信息对数据和元数据进行合理解读 来实现。该提取器在减少噪声(精确度)和包含所有有效部分(召回率)之间取得了良好的平衡。它具有 鲁棒性且速度较快

Trafilatura 已被 广泛使用,并集成到 数千个项目 中,合作公司包括 HuggingFace、IBM 和微软研究院,以及艾伦研究所、斯坦福大学、东京工业大学和慕尼黑大学等机构。

特性

  • 高级网页爬取与文本发现:

    • 支持站点地图(TXT、XML)和信息源(ATOM、JSON、RSS)
    • 智能爬取与 URL 管理(过滤与去重)
  • 在线与离线输入的并行处理:

    • 实时 URL,高效且礼貌地处理下载队列
    • 之前下载的 HTML 文件及已解析的 HTML 树
  • 关键元素的稳健且可配置提取:

    • 主要文本(基于常见模式及 jusText、Readability 等通用算法)
    • 元数据(标题、作者、日期、网站名称、分类与标签)
    • 格式与结构:段落、标题、列表、引用、代码、换行符、内联文本格式
    • 可选元素:评论、链接、图片、表格
  • 多种输出格式:

    • TXT 和 Markdown
    • CSV
    • JSON
    • HTML、XML 以及 XML-TEI
  • 可选插件:

    • 提取内容的语言检测
    • 速度优化
  • 积极维护,并得到开源社区的支持:

    • 定期更新、功能添加与优化
    • 详尽的文档

评估与替代方案

在文本提取基准测试中,Trafilatura 始终优于其他开源库,展现出其在提取网络内容方面的高效性和准确性。该提取器力求在减少噪声和包含所有有效部分之间取得平衡。

更多信息请参阅 基准测试章节 以及 评估自述文件,以使用最新数据和软件包运行评估。

其他评估:

使用与文档

开始使用 Trafilatura 非常简单。如需更多信息和详细指南,请访问 Trafilatura 文档

多语言视频教程 YouTube 播放列表:

许可证

本软件包采用 Apache 2.0 许可证 发布。

v1.8.0 之前的版本则采用 GPLv3+ 许可证。

贡献

欢迎各类贡献。更多信息请访问 贡献页面。漏洞报告可在 专用问题页面 上提交。

衷心感谢所有扩展文档或提交漏洞报告、新功能和修复补丁的 贡献者!

背景

本项目最初作为语言学与自然语言处理交叉领域的博士研究课题启动,这些专业知识多年来对 Trafilatura 的发展起到了关键作用。该项目最初旨在为柏林-勃兰登堡科学院(DWDS 和 ZDL 部门)的研究目的创建文本数据库。尽管该软件包目前仍在维护中,但其未来的发展取决于社区的支持。

如果您重视这款软件或将其用于您的产品,请考虑为其提供赞助并参与代码贡献。您在 GitHubko-fi.com 上的支持将有助于维护和改进这一广受欢迎的工具。

“Trafilatura” 是意大利语中“拉丝”的意思,象征着提炼与转换的过程,同时也指代意大利面的成型工艺。

作者

如需咨询、合作或反馈,请通过软件仓库或联系页面与我取得联系。更多最新动态请关注我的社交媒体账号。

如何引用 Trafilatura

Trafilatura 在学术界被广泛应用于数据采集领域。引用方式如下:

参考 DOI:10.18653/v1/2021.acl-demo.15 Zenodo 存档 DOI:10.5281/zenodo.3460969

@inproceedings{barbaresi-2021-trafilatura,
  title = {{Trafilatura: 用于文本发现与提取的网络爬虫库及命令行工具}},
  author = {Barbaresi, Adrien},
  booktitle = {计算语言学协会第 59 届年会暨第 11 届国际自然语言处理联合会议联合会议:系统演示会议论文集},
  pages = {122--131},
  publisher = {计算语言学协会},
  url = {https://aclanthology.org/2021.acl-demo.15},
  year = 2021,
}

软件生态体系

我们共同开发的插件及其他扩展包也为网络数据抽取与分析领域做出了重要贡献:

软件生态体系

相关文章可在 Bits of Language 上找到。

太棒了!您已经阅读到页面的末尾了:感谢您的关注!

版本历史

v2.0.02024/12/03
v1.12.22024/09/10
v1.12.12024/08/20
v1.12.02024/07/30
v1.11.02024/06/27
v1.10.02024/05/30
v1.9.02024/05/02
v1.8.12024/04/03
v1.8.02024/03/20
v1.7.02024/01/25
v1.6.42024/01/08
v1.6.32023/11/29
v1.6.22023/09/06
v1.6.12023/06/15
v1.6.02023/05/11
v1.5.02023/03/30
v1.4.12023/01/19
v1.4.02022/10/18
v1.3.02022/07/29
v1.2.22022/05/18

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|昨天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

140.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|3天前
开发框架图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|今天
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|昨天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|昨天
图像数据工具视频