mcpField
F
firecrawl-scrape

firecrawl-scrape

github.com/firecrawl数据与数据库252107 次安装6 天前更新
代码仓库

关于 firecrawl-scrape

专注于抓取 URL 和调用选定数据提供方工具的 Firecrawl 技能,说明如何查看工具契约、处理大型结果并提取页面或文档内容。

主要功能

  1. 01抓取静态及 JavaScript 渲染页面
  2. 02发现并查看数据提供方工具
  3. 03按声明的字段执行工具
  4. 04处理 PDF 与大型结果集
  5. 05并发抓取多个 URL

适用场景

  1. 01提取已知 URL 的内容
  2. 02从数据提供方获取结构化数据
  3. 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

另请参阅

评论

支持 Markdown