mcpField
F
firecrawl

firecrawl

github.com/pedronauck数据与数据库646256 次安装1 周前更新
代码仓库

关于 firecrawl

指导通过 Firecrawl CLI 搜索、抓取、爬取并交互操作网站,整理适用于 LLM 工作流的结果。帮助开发者选择提取方式并处理输出。

主要功能

  1. 01搜索并抓取网页
  2. 02映射 URL 并爬取站点区段
  3. 03使用 agent 提取结构化数据
  4. 04通过 browser 与页面交互
  5. 05将网站下载为本地文件
  6. 06保存并整理命令输出

适用场景

  1. 01查找并收集某主题的来源
  2. 02提取已知网页的内容
  3. 03收集站点某一区段的文档
  4. 04获取交互式页面中的信息

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pedronauck/skills --skill firecrawl

安装后在 Claude Code 中输入/firecrawl确认已加载。

附带文件rules/install.mdrules/security.md

详细介绍

Firecrawl CLI

网页抓取、搜索和浏览器自动化命令行工具。返回适用于大模型上下文窗口的整洁 Markdown。

运行 firecrawl --help 或 firecrawl <command> --help 查看完整选项详情。

前提条件

必须已安装并完成身份验证。使用 firecrawl --status 检查。

  🔥 firecrawl cli v1.8.0

  ● Authenticated via FIRECRAWL_API_KEY
  Concurrency: 0/100 jobs (parallel scrape limit)
  Credits: 500,000 remaining
  • 并发数:并行任务上限。并行操作数量不得超过此限制。
  • 额度:剩余 API 额度。每次抓取或爬取都会消耗额度。

如果尚未准备就绪,请参阅 rules/install.md。关于输出处理指南,请参阅 rules/security.md。

firecrawl search "query" --scrape --limit 3

工作流

遵循以下逐级处理模式:

  1. 搜索 - 尚无具体 URL。查找页面、回答问题、发现来源。
  2. 抓取 - 已有 URL。直接提取其内容。
  3. 映射 + 抓取 - 网站规模较大,或需要特定子页面。使用 map --search 查找合适的 URL,然后抓取。
  4. 爬取 - 需要批量获取整个网站板块的内容(例如,所有 /docs/ 页面)。
  5. 浏览器 - 内容需要交互才能访问,导致抓取失败(分页、模态框、表单提交、多步导航)。
需求命令使用时机
查找某个主题的页面search尚无具体 URL
获取页面内容scrape已有 URL,页面为静态页面或由 JS 渲染
查找网站内的 URLmap需要定位特定子页面
批量提取网站板块内容crawl需要获取多个页面(例如,所有 /docs/ 页面)
AI 驱动的数据提取agent需要从复杂网站提取结构化数据
与页面交互browser内容需要点击、填写表单、分页或登录
将网站下载到文件download将整个网站保存为本地文件

如需详细的命令参考,请使用每个命令对应的独立技能(例如,firecrawl-search、firecrawl-browser),或运行 firecrawl <command> --help。

抓取与浏览器:

  • 优先使用 scrape。它支持静态页面和由 JS 渲染的 SPA。
  • 当需要与页面交互时使用 browser,例如点击按钮、填写表单、浏览复杂网站、滚动加载更多内容,或 scrape 未能抓取所需的全部内容时。
  • 切勿使用 browser 进行网页搜索,请改用 search。

避免重复抓取:

  • search --scrape 已经会获取完整页面内容。不要再次抓取这些 URL。
  • 再次获取前,先检查 .firecrawl/ 中是否已有数据。

输出与整理

除非用户指定在上下文中返回结果,否则请使用 -o 将结果写入 .firecrawl/。将 .firecrawl/ 添加到 .gitignore。始终为 URL 加上引号,因为 shell 会将 ? 和 & 视为特殊字符。

firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl scrape "<url>" -o .firecrawl/page.md

命名约定:

.firecrawl/search-{query}.json
.firecrawl/search-{query}-scraped.json
.firecrawl/{site}-{path}.md

切勿一次性读取整个输出文件。请使用 grep、head 或分段读取:

wc -l .firecrawl/file.md && head -50 .firecrawl/file.md
grep -n "keyword" .firecrawl/file.md

单一格式会输出原始内容。多种格式(例如,--format markdown,links)会输出 JSON。

处理结果

对于复杂任务,处理基于文件的输出(-o 标志)时,以下模式很有用:

# Extract URLs from search
jq -r '.data.web[].url' .firecrawl/search.json

# Get titles and URLs
jq -r '.data.web[] | "\(.title): \(.url)"' .firecrawl/search.json

并行处理

并行运行互不依赖的操作。使用 firecrawl --status 检查并发限制:

firecrawl scrape "<url-1>" -o .firecrawl/1.md &
firecrawl scrape "<url-2>" -o .firecrawl/2.md &
firecrawl scrape "<url-3>" -o .firecrawl/3.md &
wait

对于 browser,请为互不依赖的任务启动独立会话,并通过 --session <id> 并行操作。

额度使用

firecrawl credit-usage
firecrawl credit-usage --json --pretty -o .firecrawl/credits.json

评论

支持 Markdown