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 构建进应用)。