第 6 课 — Search 与 Extract:从搜索到结构化数据
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)
(申请发送: agentupdate)
除了抓取已知 URL,Firecrawl 还能帮你从茫茫互联网中搜索信息,并将其转化为精准的 JSON 格式。
6.1 Search:搜索与抓取一体化
Search 工具不仅返回搜索结果列表,还能直接抓取结果页面的 Markdown 内容。
核心参数:
query:搜索关键词。limit:返回结果数量。scrapeOptions:对结果页面的抓取参数(同 Scrape)。
搜索操作符:
- 精确匹配:
"Firecrawl MCP" - 排除词:
-deprecated - 限定域名:
site:github.com - 标题关键词:
intitle:tutorial
6.2 Extract:结构化多页提取
Extract 工具利用 LLM,从一个或多个 URL 中提取符合你定义 Schema 的结构化数据。
场景示例:从 3 个竞品页面提取定价信息。
{
"urls": ["url1", "url2", "url3"],
"prompt": "提取产品名称、月费和核心功能",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "string" },
"features": { "type": "array", "items": { "type": "string" } }
}
}
}
6.3 Extract vs Scrape (JSON 格式)
你可能会发现 Scrape 也支持 jsonOptions,它们有什么区别?
| 维度 | Extract | Scrape (JSON 格式) |
|---|---|---|
| 输入 | 多 URL 列表 | 单 URL |
| 主要目标 | 批量数据采集、多页对比 | 单个页面的精准结构化 |
| Schema 定义 | 顶层参数 | 嵌套在 jsonOptions 中 |
6.4 实战技巧
- 精准过滤:在使用 Search 时,配合
includeDomains或excludeDomains可以大幅提高搜索效率。例如,只在官方文档和 GitHub 范围内搜索。 - 防止 Token 溢出:在 Extract 多个页面时,尽量保持 Schema 简洁,只提取最关键的字段。
- Prompt 优化:在 Extract 中,描述清晰的 Prompt 比复杂的 Schema 更能提高 AI 提取的成功率。