跳转到主要内容
可在你的 Elixir 应用中抓取单个页面、爬取整个站点,并映射 URL。该 SDK 在运行时通过 NimbleOptions 验证所有参数,并使用 Req 进行 HTTP 请求,因此在真正发出请求之前,你就能清楚发现拼写错误和无效选项。 每个函数都有一个 bang (!) 变体,出错时会直接抛出异常,而不是返回 {:error, ...} 元组。

安装

mix.exs 的依赖项列表中添加 firecrawl,并配置你的 API 密钥:
Elixir
或者在每次请求中传入 API 密钥:
Elixir

使用方式

  1. 前往 firecrawl.dev 获取 API 密钥
  2. 在应用配置中设置 API 密钥,或将其作为选项传给任意函数。
Elixir

抓取 URL

使用 scrape_and_extract_from_url 抓取单个 URL。它会以结构化数据的形式返回页面内容,包括 markdown、元数据以及你指定的其他 formats。
Elixir

爬取网站

要爬取网站,请使用 crawl_urls。它接收起始 URL 和可选参数,例如页面上限、允许的域名以及输出格式。
Elixir

开始爬取

启动一个爬取任务,并立即返回任务 ID,无需阻塞:
Elixir

查看爬取状态

使用 get_crawl_status 查看爬取任务的状态:
Elixir

取消爬取任务

使用 cancel_crawl 取消爬取任务:
Elixir

为网站映射 URL 列表

使用 map_urls 生成网站的 URL 列表:
Elixir
进行网页搜索,并可按需抓取结果:
Elixir

批量抓取

在单个批量任务中抓取多个 URL:
Elixir

代理

启动一个代理式数据提取任务:
Elixir

浏览器

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

创建会话

Elixir

执行代码

Elixir

配置档案

在不同会话间保存并复用浏览器状态 (cookies、localStorage 等) :
Elixir

列出并关闭会话

Elixir

自托管实例

要使用自托管的 Firecrawl 实例,请传入 base_url 选项:
Elixir

错误处理

非 bang 版本的函数会返回 {:ok, response}{:error, exception}。Bang 版本在出错时会直接抛出异常。NimbleOptions 会在发送请求前验证所有参数,立即捕获拼写错误、缺少必填字段和类型错误。
Elixir

所有可用函数

上述每个函数都有一个带 bang (!) 的变体 (例如 scrape_and_extract_from_url!) ,它会直接抛出错误,而不是返回错误元组。 如需完整的 API 文档,请参见 hexdocs.pm/firecrawl