SuperAPI AI 工具集

firecrawl-scrape

数据与分析

查看项目

更新于 10-15 08:33

技能介绍

Firecrawl Scrape 是 Firecrawl CLI 中的抓取技能,用于读取已知网页的页面内容,或执行已选定的提供方工具以获取结构化数据。

用途 当你已经拥有 URL,或已经通过搜索选定某个工具时,可用它获取页面内容或结构化结果。对于结构化数据集,应先使用 search 技能查找合适的工作流或数据提供方;读取已知页面时可直接抓取,复用已选定的契约而不必重复发现。

主要能力

  • 基础 Markdown 提取:firecrawl scrape "<url>" -o .firecrawl/page.md
  • 仅提取正文(不含导航/页脚):加 --only-main-content
  • 等待 JS 渲染后再抓取:加 --wait-for 3000
  • 多 URL 并发抓取(仅 Markdown,各自保存到 .firecrawl/,-o 被忽略)
  • 同时获取 Markdown 和链接:--format markdown,links -o .firecrawl/page.json
  • 针对页面提问:--query "What is the enterprise plan price?"
  • 完整选项列表可通过 firecrawl scrape --help 查看

使用方式 发现工具、检查输入并获取帮助:

  • firecrawl search --help、firecrawl list --help、firecrawl scrape --help
  • 域名发现使用 --domain-tools,默认返回工具摘要;加 --tool-detail full 可预先获取完整契约,--tool-detail compact 仅返回提供方、能力和描述
  • 结构化数据流程:firecrawl search '<user question>' 搜索任务;firecrawl list 按类别→提供方→工具→契约浏览;firecrawl list <provider-id> <capability-id> --pretty 查看选定契约;firecrawl scrape <provider-id>/<capability-id> --options '<JSON matching the selected contract>' 执行工具
  • 普通 search 包含网页结果和工具匹配;search alexandria 仅搜索工具
  • 构建输入或解析结果前应阅读展开的契约:required: true 表示必填;requiresOneOf 组要求至少一个成员;response.key 标识 data.alexandria[i].data 内的记录字段
  • 提供方分页与目录 next 不同,应使用契约的 continuation 输入和返回的 page/cursor,保留过滤器,并在其耗尽信号处停止

执行与大结果

  • URL 抓取不会自动执行提供方工具;应使用精确发现的输入字段,并用查找工具解析记录 ID
  • 需检查每个 data.alexandria[] 结果是否出错,而不仅是外层成功标志
  • 若客户端报告输出/上下文限制,上游请求可能已成功;应保留请求或抓取 ID 并恢复保留结果,再重复提供方调用
  • 大型数据集和 PDF 建议用 --json -o 保存到本地,再用 jq 等工具分段检查;保持 stderr 与 JSON stdout 分离,管道传给 JSON 解析器时不要用 2>&1 合并流
  • 需要远程处理时,可用 firecrawl scrape firecrawl/bash 从保留结果中选择

PDF 与页面预算

  • PDF 每解析一页消耗 1 个 credit;用 --max-pages(1 到 10000 的整数)限制 PDF 解析
  • 该上限作用于每个 PDF,而非整条命令或总 credit;额外格式和选项可能增加费用;CLI 不会在执行前报价页数或费用
  • 用 JSON 输出检查 metadata.numPages(已解析)、metadata.totalPages(文档总数)和 metadata.creditsUsed;解析数较小表示结果不完整

提示

  • 优先使用普通 scrape 而非 --query:先抓取到文件,再用 grep、head 或直接阅读 Markdown 自行搜索和推理;仅当需要单个定向答案且不保存页面时才用 --query(额外消耗 5 个 credit)
  • Scrape 可处理静态页面和 JS 渲染的 SPA;当页面需要交互(点击、填表、分页)或 scrape 漏掉内容时,升级到 interact
  • 多 URL 并发抓取,可用 firecrawl --status 查看并发上限;该模式仅保存 Markdown 并忽略 -o,其他请求格式会被丢弃;若未请求 Markdown,整个 JSON 响应会写入 .md 文件
  • 单一格式输出原始内容;多格式(如 --format markdown,links)输出 JSON
  • URL 始终加引号,因为 shell 会把 ? 和 & 视为特殊字符
  • 命名约定:.firecrawl/{site}-{path}.md

适用场景 读取已知网页内容、抓取 JS 渲染页面、批量抓取多个 URL、获取页面 Markdown 与链接、针对页面提问,以及执行已发现的数据提供方工具获取结构化数据。

限制

  • URL 抓取不会自动执行提供方工具
  • 多 URL 模式仅保存 Markdown 且忽略 -o
  • PDF 按页计费,CLI 不预先报价
  • --query 额外消耗 5 个 credit
  • 大结果需显式恢复,非自动溢出检测
  • 页面需要交互时需改用 interact

相关技能:firecrawl-search(无 URL 时查找页面)、firecrawl-interact(scrape 无法获取内容时点击、填表等)、firecrawl-download(批量下载整个站点到本地)、firecrawl-build-scrape(将 scrape 构建进应用)。