第 6 课 — Search 与 Extract:从搜索到结构化数据

⏱ 预计阅读 4 分钟 更新于 2026/5/7
💡 进群学习加 wx: 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 时,配合 includeDomainsexcludeDomains 可以大幅提高搜索效率。例如,只在官方文档和 GitHub 范围内搜索。
  • 防止 Token 溢出:在 Extract 多个页面时,尽量保持 Schema 简洁,只提取最关键的字段。
  • Prompt 优化:在 Extract 中,描述清晰的 Prompt 比复杂的 Schema 更能提高 AI 提取的成功率。