关于 firecrawl
指导通过 Firecrawl CLI 搜索、抓取、爬取并交互操作网站,整理适用于 LLM 工作流的结果。帮助开发者选择提取方式并处理输出。
主要功能
- 01搜索并抓取网页
- 02映射 URL 并爬取站点区段
- 03使用 agent 提取结构化数据
- 04通过 browser 与页面交互
- 05将网站下载为本地文件
- 06保存并整理命令输出
适用场景
- 01查找并收集某主题的来源
- 02提取已知网页的内容
- 03收集站点某一区段的文档
- 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
工作流
遵循以下逐级处理模式:
- 搜索 - 尚无具体 URL。查找页面、回答问题、发现来源。
- 抓取 - 已有 URL。直接提取其内容。
- 映射 + 抓取 - 网站规模较大,或需要特定子页面。使用
map --search查找合适的 URL,然后抓取。 - 爬取 - 需要批量获取整个网站板块的内容(例如,所有 /docs/ 页面)。
- 浏览器 - 内容需要交互才能访问,导致抓取失败(分页、模态框、表单提交、多步导航)。
| 需求 | 命令 | 使用时机 |
|---|---|---|
| 查找某个主题的页面 | search | 尚无具体 URL |
| 获取页面内容 | scrape | 已有 URL,页面为静态页面或由 JS 渲染 |
| 查找网站内的 URL | map | 需要定位特定子页面 |
| 批量提取网站板块内容 | 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