Skip to main content

安装

要安装 Firecrawl 的 Node SDK,你可以使用 npm:
Node

使用

  1. firecrawl.dev 获取 API 密钥
  2. 将该密钥设置为名为 FIRECRAWL_API_KEY 的环境变量,或作为参数传递给 FirecrawlApp 类。
以下是一个包含错误处理的 SDK 使用示例:
Node

抓取单个 URL

要带错误处理地抓取单个 URL,请使用 scrapeUrl 方法。它接收 URL 作为参数,并以字典形式返回抓取结果。
Node

爬取网站

要在具备错误处理的情况下爬取网站,请使用 crawlUrl 方法。它接收起始 URL 和可选参数。通过 params 参数,你可以为爬取任务指定其他选项,例如最大爬取页数、允许的域名以及输出格式。有关自动/手动分页与限制的说明,请参见 Pagination
Node(Node.js)

仅爬取 Sitemap

使用 sitemap: "only" 仅爬取 sitemap 中的 URL(起始 URL 始终会被包含,并且会跳过 HTML 链接发现过程)。
Node

启动 Crawl

使用 startCrawl 可立即启动作业且无需等待。它会返回一个作业 ID,可用于查询状态。若需要在完成前阻塞等待的方式,请使用 crawl。分页行为和限制详见 Pagination
Node

检查爬取状态

要在带错误处理的情况下检查爬取任务的状态,请使用 checkCrawlStatus 方法。它接收 ID 作为参数,并返回该爬取任务的当前状态。
Node

取消爬取

要取消爬取任务,请使用 cancelCrawl 方法。该方法接收 startCrawl 返回的任务 ID 作为参数,并返回取消结果。
Node

网站映射

要在包含错误处理的情况下进行网站映射,请使用 mapUrl 方法。该方法接收起始 URL 作为参数,并以字典形式返回映射结果。
Node

使用 WebSockets 爬取网站

要通过 WebSockets 爬取网站,请使用 crawlUrlAndWatch 方法。它接受起始 URL 和可选参数。params 参数可用于为爬取任务指定更多选项,例如最大爬取页数、允许的域名,以及输出 formats。
Node
当有更多数据可用时,Firecrawl 的 /crawl 和 batch 端点会返回一个 next URL。Node SDK 默认会自动分页并汇总所有文档;在这种情况下,next 将为 null。你可以禁用自动分页或设置上限。

抓取

使用 waiter 方法 crawl 以获得最简便的体验,或启动一个任务并手动逐页处理。
简单爬取(自动分页,默认)
手动抓取与分页控制(单页)
  • 先启动作业,然后将 autoPaginate: false 设置为禁用自动分页,逐页获取。
节点
设有限制的手动抓取(自动分页 + 提前停止)
  • 保持自动分页开启,但可通过 maxPagesmaxResultsmaxWaitTime 提前停止。
节点

批量抓取

使用等待器方法 batchScrape,或手动启动作业并逐页处理。
简单批量抓取(自动分页,默认)
手动批量抓取并控制分页(单页)
  • 启动作业,将 autoPaginate: false 以禁用自动分页,并按页逐一获取。
Node
手动批量抓取并设定限制(自动分页 + 提前停止)
  • 保持自动分页开启,但可通过 maxPagesmaxResultsmaxWaitTime 提前停止。
Node

浏览器

在云端启动浏览器会话并远程执行代码。

创建会话

Node

执行代码

Node
改为执行 JavaScript(而非 Python):
Node
通过 agent-browser 执行 Bash:
Node

配置文件

在会话之间持久化并复用浏览器状态(cookies、localStorage 等):
Node

通过 CDP 连接

要获得对 Playwright 的完全控制能力,请使用 CDP URL 直接连接:
Node

列出 & 关闭会话

Node

错误处理

SDK 会处理 Firecrawl API 返回的错误并抛出相应异常。若在请求过程中发生错误,将抛出包含详细错误信息的异常。上面的示例展示了如何使用 try/catch 代码块来处理这些错误。