什么是结构化数据提取?

结构化数据提取 是指将非结构化内容(如网页、PDF 或截图)转换为 JSON 或 CSV 等格式、结构清晰且可被机器读取的输出结果的过程。 与依赖 CSS 选择器或 XPath 的基于规则的爬虫不同,该方法利用大型语言模型(LLM)并在 JSON 模式的引导下,从自由格式文本中推断字段值。最终生成的数据可被下游系统直接使用,无需额外解析。

结构化数据提取是如何工作的?

您定义一个目标模式:例如,一个包含以下内容的产品记录:name,price,以及availability 字段。大型语言模型(LLM)会接收原始页面内容及相应的模式,并返回与之匹配的 JSON 对象。OpenAI、Anthropic、Gemini 和 Mistral 都在其 API 中原生支持这种模式,将其称为“结构化输出”(西蒙·威利森,《利用大型语言模型(LLM)模式从非结构化内容中提取结构化数据》(2025年)。该大型语言模型(LLM)无需维护选择器,即可处理布局变化、标签不一致以及多语言内容。

Massive 的 Web Render API 可以返回一个已完全渲染的页面,格式为纯 HTML 或 Markdown。该输出可直接用于任何结构化输出调用,因此渲染步骤和提取步骤构成了一条无需中间存储的单一管道。

常见问题解答

传统的网页抓取技术使用 CSS 选择器或 XPath 规则,一旦网站标记结构发生变化,这些方法就会失效。结构化数据提取则利用大型语言模型(LLM)对内容进行语义解析,因此能够适应布局变化,并能处理那些没有可预测 DOM 结构的内容,例如 PDF 或截图。

OpenAI、Anthropic、Google Gemini 和 Mistral 都在其 API 中提供了结构化输出模式,允许您传入一个 JSON 模式,并收到经过验证的 JSON 响应(西蒙·威利森,《利用大型语言模型(LLM)模式从非结构化内容中提取结构化数据》, 2025)。

当源内容缺乏统一格式时,应使用结构化数据提取。传统解析方法在可预测的标记语言或分隔符分隔的文件上效果良好。当输入内容为叙述性文本、混合布局或某些文档格式时,基于大型语言模型(LLM)的提取便成为更实用的选择——因为在这些情况下,手动编写选择器规则所需付出的努力往往超过任务本身的价值。