什么是内容提取?
无抓取通用抓取API获取公共网页,以用于可以解析和结构化返回表示的内容提取工作流程。
TL;DR
- 内容提取将源材料转化为选定的可用数据。 在网络上,它可以从页面中恢复文章文本、产品字段、链接、元数据、表格或实体。
- 获取和提取是不同的阶段。 获取获取一个表示;提取决定哪些部分重要以及它们如何映射到输出。
- 主内容提取是其中一种子类型。 它将主要的编辑文本与导航和重复页面框架分开,而字段提取则针对定义的模式。
- 可靠的输出需要出处和验证。 保留源URL、捕获方法、原始证据、规则版本和字段级质量状态。
- 输出模式应遵循用例。 搜索、分析、RAG、迁移和监控需要不同的边界和质量标准。
内容提取是识别和转换源中的有用信息的过程,使下游系统可以消费。源可以是网页、PDF、电子邮件、图像、报告或应用程序视图。输出可以是连续文本、一组字段、表格、链接实体、媒体引用或规范化记录。
在网页上,提取在获取后或同时开始。HTTP客户端或浏览器捕获一个表示;解析器构建结构;选择器或模型识别内容;标准化解决值;验证检查含义。将所有这些视为一个不透明的“抓取”使缺陷难以定位。
内容提取管道
| 阶段 | 问题 | 典型输出 |
|---|---|---|
| 获取 | 捕获了哪个源表示? | HTML、渲染的DOM、响应、PDF、图像 |
| 解析 | 表示暴露了什么结构? | DOM树、块、标记、表格、元数据 |
| 选择 | 哪个内容满足用例? | 主要文本、字段、链接、实体、媒体 |
| 标准化 | 值应如何一致表示? | 解析后的URL、类型化日期、单位、标识符 |
| 验证 | 结果是否完整、准确且可追溯? | 质量标记、证据、拒绝理由 |
| 交付 | 消费者如何访问产品? | JSON、表格、索引、文档、事件 |
每个阶段应有明确的边界。如果获取返回一个同意页面,选择器不应报告“文章缺失”。如果解析在格式错误的标记上失败,标准化不应发明空白字段。可观察的阶段将模糊的空结果转化为一个特定的失败,以便所有者可以处理。
主要内容、字段和实体
主要内容提取旨在恢复页面的主要可读体,通常包括其标题、作者、日期、标题、链接和相关图片。它对读者视图、搜索索引、摘要、翻译、档案和检索系统很有用。去除模版内容与此密切相关,因为导航、广告、页脚和重复推荐可能会淹没主要文本。
字段提取从模式开始。产品记录可能需要标识符、名称、价格、货币、可用性、卖家和源URL。事件可能需要名称、开始时间、地点和组织者。字段提取可以使用DOM选择器、结构化数据、标签、模式或模型,但必须区分缺失的源值和提取失败。
实体和关系提取超越了字段的复制。它识别人物、组织、地点、产品或概念,并链接它们之间的关系。派生的输出应与观察到的源值分开,以便消费者知道什么是声明的,什么是推断的。
基于规则的提取
基于规则的系统使用CSS选择器、XPath、DOM关系、元数据属性、URL模式、标签或正则表达式。当页面模板稳定时,它们透明且高效。特定规则可以精确地解释为什么选择了一个值,并且可以针对已知页面进行测试。
弱点是模板依赖性。与生成类绑定的选择器在重新设计后可能会失效。更强的规则使用稳定的ID、语义元素、数据属性、标签、结构化元数据和关系,如“在所识别的产品记录内的价格”。规则应按模板家族进行版本控制,并针对多个页面变体进行测试。
该 HTML标准的文章元素定义 提供一种语义信号,用于自包含的内容,但真实页面并不一致地使用语义标记。提取应结合信号,而不是假设一个元素名称保证相关性。
启发式与机器学习
启发式主内容提取器使用文本密度、链接密度、标点、标题关系、位置和相邻内容对块进行评分。模板比较可以识别同一站点上跨页面重复的块。
Web2Text 研究 将样板检测框架作为页面块的结构化分类。模型在布局方面比固定选择器更具泛化能力,但它们增加了培训数据、评估、版本控制和可解释性要求。模型置信度分数不能替代领域级证据。
混合设计很常见:语义规则定位候选区域,启发式去除明显的导航,模型解决模糊块。生产选择应遵循代表页面上的测量精度和召回率,而不是对规则或 AI 的抽象偏好。
动态页面和渲染
初始 HTML 可能包含内容、数据外壳,或者几乎没有除了脚本之外的内容。客户端应用程序可以在请求后、用户交互或视口变化后添加文本。提取器必须定义它是否针对源 HTML、渲染的 DOM、结构化网络响应或视觉状态。
渲染获取增加了成本和变化性,但可能是必要的。等待条件应对应于目标内容,例如记录容器或数据响应,而不是通用延迟。保存足够的证据以重现解析器观察到的状态。
规范化和来源
规范化解决相对 URL,分离数字与显示格式,标准化单位,映射枚举,并保留区域设置。它绝不会抹去原始值。在解释很重要时,同时存储观察到的字符串和规范化字段,以及产生转换的规则或区域设置。
来源将每个输出连接到源 URL、捕获时间、表示、源片段、提取版本和验证状态。对于文档,偏移量或块标识符可以指向证据。对于字段,保留源属性或文本跨度。来源支持审核、修正、去重和模型评估。
如何测量提取质量
精度衡量提取内容的相关性;召回衡量恢复了多少相关内容。字段提取还需要精确匹配或规范值的准确性、记录完整性、重复率和架构有效性检查。主文本系统应测试边界错误,例如缺少介绍、包含相关链接、丢失标题或重复的移动和桌面文本。
评估集应涵盖页面类型、语言、短内容和长内容、缺失字段、付费墙或访问通知、动态渲染和模板修订。 Mozilla Readability 项目 公开一个实用的开源主内容解析器,并记录测试页面,说明回归固定对提取行为的价值。
常见失败模式
- 错误的表示。 提取器解析初始 HTML,即使内容仅在渲染后出现。
- 模板过拟合。 一个选择器在样本页面上工作,但错过变种、区域设置或实验。
- 样板泄漏。 导航、饼干文本、相关链接和页脚文本进入主要内容。
- 积极清理。 标题、警告、表格或重复但相关的上下文被移除。
- 丢失来源。 规范值无法追溯到源元素或规则。
- 静默空值。 访问失败、解析器错误和真正缺失的字段都变成相同的空值。
搜索和 RAG 的内容提取
搜索和检索增强生成需要一致的块、标题、标题、链接和源身份。导航和重复的页脚文本产生低价值块,可能主导检索。过度清理移除答案需要的修饰符和上下文。提取目标应在切块之前保留文档结构,而不是将所有内容合并为一个字符串。
保持源 URL 和证据与每个块一起。去重页面间的重复内容,但不要假设重复意味着不相关;产品规格或法律警告可能持续出现并仍然重要。在真实问题上评估检索和答案质量,除了块级提取指标之外。
设计生产工作流
- 定义消费者、架构、证据需求和可接受的错误。
- 选择每种页面类型的权威表示和获取方法。
- 根据适当的保留政策保留原始文档。
- 分离选择、规范化、验证和交付阶段。
- 构建一个代表性的标记评估集和模板回归套件。
- 监控字段覆盖、块边界、重复、架构漂移和源更改。
- 对模糊或高影响输出提供检疫和人工审核。
Scrapeless Universal Scraping API 可以为公共网页的获取阶段提供服务,而您的提取层定义架构和质量规则。审查 Scrapeless 定价 与页面数量、渲染需求、原始保留和后续处理成本。
结论
内容提取将捕获的源转换为选择的、结构化的和经过验证的信息。最强大的系统将获取与解析分开,选择一个与消费者匹配的输出边界,保留原始证据,并对代表性页面测量字段或块的质量。主要内容提取、字段提取、实体提取和模板去除是相关工具,而不是可互换的名称。
准备好建立内容提取管道了吗?
使用Scrapeless获取公共网页,然后在您自己的模式下保持选择、规范化、验证和来源。
开始免费试用 →常见问题
内容提取通俗来说是什么?
内容提取是从源中选择有用信息并将其转换为文本、字段、实体、表或下游系统可以使用的其他格式的过程。
内容提取是否与网络爬虫相同?
不相同。网络爬虫获取和处理网络资源,而内容提取是可以应用于网页、PDF、电子邮件、图像和其他来源的选择和结构化步骤。
什么是主要内容提取?
主要内容提取识别文档的主要可读内容,并将其从导航、广告、底部和其他页面元素中分离。它通常保留标题、链接和相关媒体。
如何测量提取质量?
在代表性标记来源上测量准确率、召回率、字段准确性、记录完整性、重复率、模式有效性和来源覆盖率。相关指标取决于消费者。
内容提取需要人工智能吗?
不需要。规则和启发式方法对稳定的模板和明确的模式有效。机器学习可以帮助在布局或模糊块中进行一般化,但它增加了评估和治理的要求。
为什么要保留原始源证据?
原始证据使团队能够审核规范化值,区分源更改和解析缺陷,纠正转换规则,并在不重新获取每个源的情况下重新处理数据。