提取
使用LLM从页面中提取结构化数据
介绍 /extract
(开放测试版)
/extract
端点简化了从任意数量的URL或整个域名收集结构化数据的过程。提供URL列表,可选地包含通配符(例如,example.com/*
),以及描述所需信息的提示或模式。Firecrawl处理爬取、解析和整理大数据或小数据集的细节。
使用 /extract
您可以从单个或多个URL(包括通配符)提取结构化数据:
- 单页
示例:https://firecrawl.dev/some-page
- 多页 / 完整域名
示例:https://firecrawl.dev/*
当您使用 /*
时,Firecrawl 将自动爬取并解析该域中所有可发现的URL,然后提取请求的数据。此功能为实验性质;如果遇到问题,请通过电子邮件 help@firecrawl.dev 联系我们。
示例用法
关键参数:
- urls:一个或多个URL的数组。支持用于更广泛爬取的通配符(
/*
)。 - prompt(除非没有模式,否则可选):描述您想要的数据或指定您希望的数据结构的自然语言提示。
- schema(除非没有提示,否则可选):如果您已经知道JSON布局,则可以提供一个更严格的结构。
- enableWebSearch(可选):当设置为
true
时,提取可以跟随指定域之外的链接。
更多详情请参见API参考。
响应(sdks)
异步提取与状态检查
当您提交一个提取任务——无论是直接通过API还是通过SDK的异步方法——您将收到一个作业ID。您可以使用此ID进行以下操作:
- 检查作业状态:向 /extract/ 端点发送请求,以查看作业是否仍在运行或已经完成。
- 自动轮询(默认SDK行为):如果您使用默认的提取方法(Python/Node),SDK会自动为您轮询此端点,并在作业完成后返回最终结果。
- 手动轮询(异步SDK方法):如果您使用异步方法——async_extract(Python)或 asyncExtract(Node)——SDK会立即返回一个作业ID,您可以跟踪。使用 get_extract_status(Python)或 getExtractStatus(Node)按自己的计划检查作业进度。
此端点仅适用于正在进行中的作业或最近完成(24小时内)的作业。
以下是使用Python、Node.js和cURL检查提取作业状态的代码示例:
可能的状态
- completed:提取成功完成。
- pending:Firecrawl仍在处理您的请求。
- failed:发生错误;数据未完全提取。
- cancelled:用户取消了作业。
待定示例
完成示例
无模式提取
如果您不想定义严格的结构,只需提供 prompt
。底层模型将为您选择一种结构,这对于更具探索性或灵活性的请求非常有用。
使用网络搜索改善结果
在您的请求中设置 enableWebSearch = true
将扩展爬取范围,超越提供的URL集。这可以从链接的页面捕获支持或相关信息。
以下是提取关于行车记录仪信息并使用相关页面数据丰富结果的示例:
带网络搜索的示例响应
响应包括从相关页面收集的额外上下文,提供了更全面和准确的信息。
已知限制(Beta)
-
大规模站点覆盖
一次请求中还不支持完全覆盖大型站点(例如,“亚马逊上的所有产品”)。 -
复杂逻辑查询
像“查找2025年的所有帖子”这样的请求可能无法可靠地返回所有预期数据。更高级的查询功能正在开发中。 -
偶尔的不一致性
结果可能会在不同运行间有所不同,特别是对于非常大的或动态的网站。通常它会捕获核心细节,但可能会出现一些变化。 -
Beta状态
由于/extract
仍处于Beta阶段,功能和性能将继续发展。我们欢迎错误报告和反馈以帮助我们改进。
计费和使用跟踪
您可以在提取登录页面定价页面上查看我们的定价,并通过仪表板上的提取页面监控使用情况。
有反馈或需要帮助吗?请通过电子邮件 help@firecrawl.dev 联系我们。