首页/AI/RAG 与向量库速查/trafilatura 抽取正文

trafilatura 抽取正文

trafilatura 面向网页正文抽取:自动去掉导航、广告与页脚,保留主内容与表格,适合把网页文章批量转成干净文本入知识库。

RAG 与向量库速查AI更新于 2026-10-13

网页正文抽取

网页里有大量与内容无关的导航、广告、推荐位和页脚,直接转文本会让切片充满噪声。正文抽取工具通过结构与统计特征把主内容块识别出来,输出干净正文,并可附带标题、作者、日期等元数据,适合把网页文章批量整理进知识库。

基本信息

输入HTML 字符串或已抓取的网页源码
输出纯文本或带元数据的结构化结果
常用参数是否包含表格、是否保留注释、输出格式
适用文章型网页、帮助中心、公告与文档站
不适用依赖脚本渲染的动态页面(需先渲染)

从 HTML 字符串抽取

从 HTML 字符串抽取
import trafilatura

html = open("page.html", encoding="utf-8").read()
text = trafilatura.extract(html, include_tables=True, include_comments=False)
print(text[:200])

# 也可抓取 URL(注意抓取目标站点条款)
# html = trafilatura.fetch_url("https://example.com/article")

使用要点

  • 保留表格开关:技术文档里的参数表往往是关键信息
  • 取结构化输出:标题、作者、发布时间可直接写进切片元数据
  • 入库前做二次清洗:残留的推荐语与版权声明需要过滤
  • 按站点统计抽取质量,个别站点需要单独配置规则
  • 抓取遵守目标站点的 robots 与使用条款,控制请求频率

输出与用途

输出形式内容用途
纯文本去噪后的正文直接切分入库
结构化结果正文加标题、作者、日期写入切片元数据
带表格结果正文加表格文本参数与配置类内容
元数据语言、站点、抓取时间时效判断与来源标注

常见问题

  • 正文为空:页面结构特殊或内容由脚本渲染,需换渲染方案
  • 内容缺失:原文以图片或附件形式承载,抽取不到
  • 表格丢失:默认不保留表格,需显式开启
  • 编码问题:非 UTF-8 页面要先正确解码再抽取
输出支持多种格式;结构化结果里带标题、作者、日期等元数据,方便直接写入切片字段,减少后续手工补字段的工作量。

入库前的处理

  • 把页面的发布时间与抓取时间一起记录,便于回答时说明时效
  • 正文里的相对链接与图片占位文本要清理,否则切片里会混入无效标记
  • 同一站点的多个栏目分开展示,便于按来源统计检索命中情况
  • 对帮助中心类页面保留标题层级,切片才能带上章节路径

易错点

  • 正文抽取可能丢掉版式特殊的表格,表格要单独核对
  • 依赖脚本渲染的页面抓不到内容,需先渲染再抽取
  • 批量抓取不做频率控制,容易触发目标站点限制
  • 抓取内容不记录来源与时间,入库后无法标注出处与时效

数据来源与参考

  • trafilatura 官方文档(trafilatura.readthedocs.io)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌