关于 firecrawl-scrape
专注于抓取 URL 和调用选定数据提供方工具的 Firecrawl 技能,说明如何查看工具契约、处理大型结果并提取页面或文档内容。
主要功能
- 01抓取静态及 JavaScript 渲染页面
- 02发现并查看数据提供方工具
- 03按声明的字段执行工具
- 04处理 PDF 与大型结果集
- 05并发抓取多个 URL
适用场景
- 01提取已知 URL 的内容
- 02从数据提供方获取结构化数据
- 03在页数限制内解析 PDF
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ firecrawl/ firecrawl-claude-plugin --skill firecrawl-scrape安装后在 Claude Code 中输入/firecrawl-scrape确认已加载。
附带文件references/large-results.md
详细介绍
firecrawl scrape
读取 URL 中的页面内容,或执行选定的提供方工具以获取结构化数据。使用 search 发现工具,并使用 list 检查工具的输入,然后再执行。可以并发抓取多个 URL。
对于结构化数据集,请先使用 search 技能查找合适的工作流或数据提供方。直接读取已知页面;重复发现之前,先复用已选定的契约。
快速开始
# Basic markdown extraction
firecrawl scrape "<url>" -o .firecrawl/page.md
# Main content only, no nav/footer
firecrawl scrape "<url>" --only-main-content -o .firecrawl/page.md
# Wait for JS to render, then scrape
firecrawl scrape "<url>" --wait-for 3000 -o .firecrawl/page.md
# Multiple URLs (markdown only; each saved to .firecrawl/; -o is ignored)
firecrawl scrape https://example.com https://example.com/blog https://example.com/docs
# Get markdown and links together
firecrawl scrape "<url>" --format markdown,links -o .firecrawl/page.json
# Ask a question about the page
firecrawl scrape "https://example.com/pricing" --query "What is the enterprise plan price?"
运行 firecrawl scrape --help 查看完整选项列表。
完成条件: 检查页面内容或提供方结果是否有错误,并分段查看内容,以回答请求。保留来源链接,并说明部分结果。
查找工具、检查输入并获取帮助
使用 CLI 帮助检查支持的选项,不要凭猜测:
firecrawl search --help
firecrawl list --help
firecrawl scrape --help
默认情况下,使用 --domain-tools 进行域名发现会返回工具摘要。添加 --tool-detail full 可预先获取契约,或按照下文所示,使用 list 检查某个选定工具。使用 --tool-detail compact 仅获取提供方、能力和描述;然后通过这两个 ID 使用 list 检查。摘要仍为默认选项。如果很快就需要多个相关契约,优先使用 full。
对于结构化数据,请搜索任务,检查匹配工具的契约,然后使用其中声明的准确输入字段执行:
# Web + domain matching + semantic tools
firecrawl search '<user question>'
# Semantic tools only
firecrawl search alexandria '<user question>'
# Categories → providers → tools → contract
firecrawl list
firecrawl list <category-id> --category
firecrawl list <provider-id>
firecrawl list <provider-id> <capability-id> --pretty
# Execute a tool
firecrawl scrape <provider-id>/<capability-id> --options '<JSON matching the selected contract>'
常规搜索会同时返回网页结果和工具匹配项;search alexandria 只搜索工具。list <provider> <capability> --pretty 会显示选定的契约;使用 --json 获取机器可读的输出。若要逐步浏览,请依次使用 list、list <category> --category,然后使用 list <provider>。搜索和 list 不会执行选定的提供方工具。只读取任务所需的契约;使用返回的标识符,不要凭猜测填写。
构造输入或解析结果之前,请先阅读展开后的契约:
required: true表示该输入为必填;每个requiresOneOf分组都至少需要其中一项,而非全部。- 检查选定契约时已请求示例。如果存在,请阅读单数形式的
example.request和example.response;对于输入可选的工具,空请求也可能有效。 response.key用于标识data.alexandria[i].data中的记录字段;键为空表示数据对象本身。不要假设每个提供方都会返回records。- 提供方的分页方式与目录中的
next不同:请使用契约声明的续页输入和返回的页面/游标,保留筛选条件,并在达到其耗尽信号时停止。仅有paginated: true并不能说明这种对应关系。
执行和大型结果
抓取 URL 不会自动执行提供方工具。请使用发现的准确输入字段,并通过查询工具解析记录 ID,不要自行编造。如果 data.alexandria[] 中有多个结果,请逐一检查是否有错误,不要只检查外层成功标志。
如果客户端报告输出/上下文达到上限,上游请求可能已经成功。保留请求 ID 或抓取 ID,并在重复调用提供方之前恢复保留的结果。对于大型数据集和 PDF,如果本地文件系统可用,请使用 --json -o 保存输出,并使用 jq 或其他文件工具分段检查。将 stderr 与 JSON stdout 分开;将数据传入 JSON 解析器时,不要使用 2>&1 合并流。如果远程处理更合适,请使用 firecrawl scrape firecrawl/bash 从保留的结果中选择内容。有关 ID、命令示例、过期时间和错误,请阅读大型结果恢复。这是显式恢复,并非自动溢出检测。
PDF 与页面预算
每解析一页 PDF 消耗 1 个额度。使用 --max-pages(取值为 1 到 10000 的整数)限制 PDF 解析页数,尤其适用于大型或页数未知的文档:
firecrawl scrape "https://example.com/report.pdf" --max-pages 5 --json -o .firecrawl/report.json
此上限适用于每个 PDF,而非整个命令或总额度。额外格式和选项可能产生费用。CLI 不会在执行前告知页数或费用。使用 JSON 输出查看返回的 metadata.numPages(已解析页数)、metadata.totalPages(文档总页数),以及(如果存在)metadata.creditsUsed;已解析页数较少意味着结果不完整。
提示
- 优先使用普通抓取,而非
--query。 先将抓取内容保存到文件,然后使用grep、head或直接读取 Markdown——你可以自行搜索和分析完整内容。只有在想要单个特定答案且不保存页面时,才使用--query(额外消耗 5 个额度)。 - 抓取可处理静态页面和由 JS 渲染的 SPA。 如果页面需要交互(点击、填写表单、翻页),或抓取遗漏了内容,则升级使用
interact。 - 多个 URL 会并发抓取——使用
firecrawl --status查看并发上限。此模式仅保存 Markdown,并忽略-o;其他请求的格式会被丢弃。如果未请求 Markdown 格式,整个 JSON 响应会写入.md文件。 - 单一格式输出原始内容。多种格式(例如
--format markdown,links)输出 JSON。 - 始终为 URL 加上引号——Shell 会将
?和&视为特殊字符。 - 命名约定:
.firecrawl/{site}-{path}.md
另请参阅
- firecrawl-search — 不知道 URL 时查找页面
- firecrawl-interact — 抓取无法获取内容时,使用
interact点击、填写表单等 - firecrawl-download — 批量下载整个网站到本地文件
- firecrawl-build-scrape — 将抓取功能构建到应用中,而不是在此处运行