如何快速用 Firecrawl 把网页变成 LLM 可读数据
【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 🔥项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl
给 Agent 喂网页内容,绕不开一件事:HTML 太脏。脚本标签、导航栏、广告位占了大半篇幅,直接丢给模型既费 token 又拉低效果。Firecrawl 是个开源的网页上下文 API,把任意网址转成 LLM 可直接读取的 Markdown 或结构化数据,代理轮换、JS 渲染、限速这些杂事都由它处理。官方口径是覆盖 96% 的网页、P95 延迟 3.4 秒。
先看 Firecrawl 网页抓取 API 适不适合你的场景
适合的情况:
- 做 RAG、Agent 应用,需要持续引入干净的网页上下文
- 要抓整站文档、做竞品或价格监控,不想自己养爬虫
- 想给 Agent 接实时网络能力,但不想从零写搜索、导航、提取逻辑
不适合的情况:
- 需要登录态、验证码绕过的采集。Firecrawl 支持点击、输入等交互,但没有针对强反爬的对抗方案
- 预算敏感的批量任务。云端按页计费,整站爬取消耗会随
limit线性增长 - 想完全掌控基础设施。开源版是 AGPL-3.0 许可,自托管要自己维护一整排服务,合规和安全都得自己兜底
十分钟跑通第一次网页抓取
- 到 Firecrawl 官网注册,拿到
fc-开头的 API key - 安装 Python SDK:
pip install firecrawl-py(也支持 Node.js、Go、Java、Rust、Ruby、.NET、PHP、Elixir) - 跑下面的最小示例
pip install firecrawl-pyfrom firecrawl import Firecrawl app = Firecrawl(api_key="fc-YOUR_API_KEY") doc = app.scrape("https://firecrawl.dev", formats=["markdown"]) print(doc.markdown)输出是一段整理好的 Markdown,没有导航栏和脚本残留,可以直接进提示词。不想写代码的话,也可以直接 curl 调POST /v2/scrape,带上 Bearer 认证和 URL 即可。
按问题选能力,而不是按接口名记
要某个页面的干净正文:用 scrape。指定formats就能拿到 Markdown、HTML、JSON、截图,甚至 PDF、DOCX 这类在线文档的解析结果。这是最常用的入口,一次调用一个 URL。
要"搜索结果 + 页面全文"一步到位:用 search。传查询词和数量上限,返回的不只是标题和链接,而是每个结果页的正文。做实时问答的 Agent 靠这个省掉了"先搜再逐个抓"两步。
要整个站点的内容:用 crawl 和 map。先map拿到站内全部 URL 和标题,按需筛选;再crawl一次性抓完,适合把整本在线文档灌进知识库。
连 URL 都不知道:用 Agent。给它一句自然语言,比如"查一下 Notion 的定价方案",它自己搜索、翻页、提取,返回结果加来源列表。还能传 Pydantic schema 让输出直接变成结构化数据。
完整走一遍:商品价格监控
输入:商品页 URL,比如https://store.example.com/product-123。
- 调一次 scrape,用
formats=["markdown"]拿到正文 - 用 Agent 加 schema 提取"商品名、当前价格、库存状态",或直接让 LLM 从 Markdown 里解析
- 每天定时跑一次,把结果存进数据库
- 和历史记录对比,价格变动就写告警
输出:一张随时间变化的价格曲线,外加每次变动的记录。项目里就有一个基于 GitHub Actions 的完整价格监控示例可参考,路径在examples/blog-articles/amazon-price-tracking/。
用 Firecrawl 最容易踩的几个坑
crawl 是异步的。用原始 API 时,提交后只返回 job id,需要自己轮询状态直到completed。用官方 SDK 则不用管,它内部已自动轮询。
limit就是成本开关。状态响应里有creditsUsed字段,整站爬取按抓到的页数计费。先用小 limit 试跑,估算单站成本再放开。
自托管不是一份 Compose 文件的事。默认栈包含 API、worker、Playwright、Redis、RabbitMQ、NuQ PostgreSQL,API 默认无认证,数据库也没有持久化卷。生产上线前必须自己补认证、TLS、备份,参考仓库根目录的SELF_HOST.md和docker-compose.yaml。
合规责任在你这边。Firecrawl 默认遵守 robots.txt,但抓取目标站的隐私政策和条款是否允许,是使用者自己的义务,README 里写得很直白。
进阶入口
- 各语言 SDK 源码:
apps/python-sdk/、apps/js-sdk/、apps/rust-sdk/等 - API 服务实现:
apps/api/src/;自托管说明:仓库根目录SELF_HOST.md - 给 MCP 客户端(Claude 等)接入 Firecrawl 工具:按 README 里的
firecrawl-mcp配置即可;Kubernetes 部署参考examples/kubernetes/cluster-install/
Firecrawl 的价值在于把"网页到可用数据"这段脏活收口成一个 API,适合不想维护爬虫团队的绝大多数场景。要完全掌控就自托管,代价是接下一整排服务的运维。两条路线怎么选,取决于你更缺开发时间还是运维资源。
【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 🔥项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考