
trafilatura
从网页中精准提取正文和元数据,一键输出多种格式。
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 7084
技术标签
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- Python 环境(README 说明 Trafilatura 是 Python 包与命令行工具)
- 无需数据库:README 明确说明 no database is required
- 可访问外网的网络环境(示例需抓取 https://github.blog 页面)
安装与启动步骤
-
1准备 Python 环境
README 说明这是 Python 包,先确认本机已装 Python 并能在终端调用。
python --version -
2安装 trafilatura
README 节选未给出安装命令,此处按 Python 包的通用方式安装,如失败请查阅官方文档。
pip install trafilatura -
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提取正文文本
调用 extract 对已下载的 HTML 做正文识别,默认返回纯文本字符串。
from trafilatura import extract text = extract(downloaded) print(text) -
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
同类项目推荐
Awesome-RAG
开源
一站式收藏 RAG 资源,快速选型不迷路
Awesome list of Retrieval-Augmented Generation (RAG) applications in Generative AI.
volo
开源
把维基百科变成你的 AI 问答知识库
An F/OSS solution combining AI with Wikipedia knowledge via a RAG pipeline
IncarnaMind
开源
拖入多个 PDF/TXT,立即用大模型对话提问,答案带出处。
From messy files to a checked report. A free, open-source desktop app for macOS, Win···
awesome-grokbot
开源
1894条已验证的Grok Bot资源,一键搜索直接用
1894 live x.ai/bot shares for Grok Bot — every link status-checked, every row attri···
openchatbi
开源
用聊天代替写SQL,一句话查数出图
OpenChatBI is an intelligent chat-based BI tool powered by large language models, de···
wiki-graph
开源
把整本书自动压缩成一张知识图谱,快速抓住核心脉络
distill any book down to its spine
jonex
开源
把视频文档变成AI能懂的知识图谱,直接喂给RAG和Agent
All-in-One Multimodal Parsing Engine + Ontology-Powered, LLM Wiki-Driven AI-Ready Kn···
OpenDeepWiki
开源
开源版DeepWiki,让团队文档秒变智能问答库
OpenDeepWiki is the open-source version of the DeepWiki project, aiming to provide a···
crw
开源
6MB 内存的 Rust 爬虫,给 AI 智能体喂网页
Fast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler & searc···