AI 知识库资料怎么采集?用 Trafilatura 提取正文并保留来源

用 Trafilatura 从获准网页提取正文,并为知识库保存 URL、标题、抓取时间、内容哈希和失败日志。

采集的产物应是一条可追溯记录,而不是只有一段正文。把 URL、标题、抓取时间和正文哈希与正文一起保存,后续才能判断资料是否更新、引用能否回链。

安装并采集一个获准页面

pip install trafilatura
import hashlib, json
from datetime import datetime, timezone
import trafilatura

url = "https://example.com/help/refund"
downloaded = trafilatura.fetch_url(url)
if downloaded is None:
    raise RuntimeError("download failed")

result = trafilatura.bare_extraction(
    downloaded, url=url, with_metadata=True,
    include_links=True, output_format="python"
)
if not result or not result.get("text"):
    raise RuntimeError("main text missing")

record = dict(result)
record["source_url"] = url
record["fetched_at"] = datetime.now(timezone.utc).isoformat()
record["content_sha256"] = hashlib.sha256(
    record["text"].encode("utf-8")
).hexdigest()
open("page.json", "w", encoding="utf-8").write(
    json.dumps(record, ensure_ascii=False, indent=2)
)

Trafilatura Python 用法说明了下载与提取流程;核心函数文档列出 bare_extraction、元数据和输出选项。参数会随版本变化,运行前以安装版本文档为准。

AI 知识库资料怎么采集?用 Trafilatura 提取正文并保留来源

别丢掉失败记录

对下载失败、正文为空、登录页、脚本渲染页分别记录状态码或错误类型。失败页面不能写成空字符串后继续入库,否则检索时只看到“文档存在”却永远找不到内容。

人工验收

先只选一个你有权使用的公开测试页。打开生成的 JSON,人工对照网页检查标题、列表、关键段落和链接;再修改网页样本或重复抓取,确认哈希是否按预期变化。导航、Cookie 横幅和推荐阅读若混入正文,应调整规则或换用结构化数据源。

进入知识库前

给记录分配稳定 document_id,保留原始 HTML 或原始文件,正文清洗结果另存。按来源更新时间决定是否重新切片;同一 URL 内容变化时创建新版本,不直接覆盖审计记录。

限制

示例未对任何第三方站点批量运行,也不授权绕过登录、付费墙、robots 规则或网站条款。网页使用许可、个人信息和版权应在采集前由资料负责人确认。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32269.html

赞 (0)
AI小管家的头像AI小管家
给 AI 智能体投喂知识库前要做什么?来源、版本与权限验收清单
上一篇 1小时前
AI 智能体知识库怎么设计?用文档 ID、版本、权限和出处组织数据
下一篇 1小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部