trafilatura

从网页中精准提取正文和元数据,一键输出多种格式。

Trafilatura 是一个用 Python 编写的网页文本与元数据抓取工具,同时提供命令行接口。它解决的核心问题是:从杂乱无章的 HTML 页面中精准提取正文内容、标题、日期、作者等元数据,并过滤掉导航、广告、评论等噪音。其核心能力包括:支持多站点爬取、智能正文识别、多种输出格式(CSV、JSON、HTML、Markdown、TXT、XML)、多语言处理,以及与爬虫框架(如 Scrapy)的集成。它特别适合学术研究、语料库构建、内容聚合等需要高质量文本数据的场景。相比通用爬虫,Trafilatura 更专注于内容提取的准确性和结构化输出,能显著提升数据清洗效率。

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 6847
维护状态 活跃
是否开源
定价模式 free

项目数据

分类搜索知识
开发团队adbar
所属国家
官网地址
定价模式free
价格说明开源工具,完全免费,无付费版本
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型article-extractor,corpus-builder,corpus-tools,crawler,html-to-markdown,html2text,llm,news-aggregator,news-crawler,nlp,rag,readability,rss-feed,scraping,tei,text-cleaning,text-extraction,text-mining,text-preprocessing,web-scraping
GitHub 星标★ 6847
30天Star增速
HF 下载量
上线时间2019-04-08 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境(README 说明 Trafilatura 是 Python 包与命令行工具)
  • 无需数据库:README 明确说明 no database is required
  • 可访问外网的网络环境(示例需抓取 https://github.blog 页面)

安装与启动步骤

  1. 1准备 Python 环境

    README 说明这是 Python 包,先确认本机已装 Python 并能在终端调用。

    python --version
  2. 2安装 trafilatura

    README 节选未给出安装命令,此处按 Python 包的通用方式安装,如失败请查阅官方文档。

    pip install trafilatura
  3. 3下载网页内容

    用 fetch_url 抓取目标页面 HTML,返回内容可直接交给 extract 处理。

    from trafilatura import fetch_url
    
    downloaded = fetch_url("https://github.blog/2019-03-29-leader-spotlight-erin-spiceland/")
    print(type(downloaded))
  4. 4提取正文文本

    调用 extract 对已下载的 HTML 做正文识别,默认返回纯文本字符串。

    from trafilatura import extract
    
    text = extract(downloaded)
    print(text)
  5. 5输出结构化元数据

    加上 output_format="json" 与 with_metadata=True,可同时拿到标题、作者等元数据。

    from trafilatura import extract
    
    data = extract(downloaded, output_format="json", with_metadata=True)
    print(data)

关键配置

配置项必填说明示例
output_format指定输出格式,示例用 json 返回结构化数据json
with_metadata是否附带标题、作者等元数据True

如何确认成功

执行 extract(downloaded) 返回非空正文文本字符串,加 json 参数后能打印出含 title、author、text 的 JSON 即成功。

常见问题

Q:需要安装数据库吗?

A:不需要。README 明确说明 no database is required,输出可转换为常用格式。

Q:如何同时拿到标题和作者?

A:调用 extract 时传入 output_format="json" 和 with_metadata=True,返回的 JSON 中包含 title、author、text 字段。

Q:能输出哪些格式?

A:README 提到可转换为 CSV、JSON、HTML、Markdown、TXT、XML 等常用格式,示例中演示了 json。

Q:还需要自己写爬虫下载页面吗?

A:不必,包内自带抓取组件,示例中用 fetch_url 直接下载网页后交给 extract 处理。

注意事项

  • README 节选未包含安装章节,`pip install trafilatura` 为基于“Python package and command-line tool”的通用推断,若失败请以官方文档为准。
  • README 未给出端口、路径、密钥等配置,无需任何敏感信息即可运行示例。
  • 示例中的输出文本被省略号截断,实际返回内容会更长。

核心亮点

  • 提取准确率高,能有效过滤导航、广告等噪音内容
  • 支持6种输出格式,方便对接下游数据处理流程
  • 提供Python API和命令行工具,集成灵活

不足之处

  • 对动态渲染的JavaScript页面支持有限,需配合其他工具
  • 文档/社区待观察

适用场景

  • 学术研究:批量抓取论文、新闻等文本用于语料分析
  • 内容聚合:构建新闻聚合站或内容监测系统
  • 数据清洗:从爬取的HTML中快速提取干净正文用于NLP训练

替代项目

newspaper3k、boilerpy3、readability-lxml

项目介绍

trafilatura 是搜索知识领域的开源项目,由 adbar 开发,2019 年首次发布。

在全站 12,961 个收录项目中,它的 GitHub 星标数(6,847)位列前 7%,在搜索知识分类的 579 个项目里位列前 9%。

近 45 天,它的 GitHub 星标从 6,572 增加到 6,847,净增 275。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。开源工具,完全免费,无付费版本。

它主要面向的使用场景是:学术研究:批量抓取论文、新闻等文本用于语料分析。同类可对比的替代方案包括 newspaper3k、boilerpy3、readability-lxml。

上一篇:vespa

下一篇:SQLBot

同类项目推荐

firecrawl 开源

网页抓取像喝水一样简单,开发者省下整周加班

The web data API to search, scrape, and interact at scale.

★ 183325 2026-08-09
contoso-chat 开源

一键跑通 Azure RAG 应用,从代码到评估部署全流程

This sample has the full End2End process of creating RAG application with Prompty an···

★ 766 2026-08-09
graphify 开源

整个代码库画成一张图,找问题一眼定位

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···

★ 120493 2026-08-09
qiaomu-youtube-ai-podcast 开源

一站式索引AI播客,快速找到有文字稿和总结的节目

AI 播客索引:整理 AI 播客、中文简介、Transcript 状态和总结入口 | Curated AI podcast ···

★ 69 2026-08-09