Firecrawl 完全指南:5 分钟把任意网页变成 LLM 就绪的数据
【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 🔥项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl
按这套流程走完,你的脚本五分钟就能吐出干净的 Markdown 和结构化 JSON:不用写选择器,不用配代理。Firecrawl 是一个开源的网页抓取 API,URL 进去,大模型能直接用的数据出来。
它是什么:网页和大模型之间的数据接口
一句话定位:给 AI 应用喂"网页上下文"的 API,渲染、反爬、清洗整条链路它替你跑完。核心能力如下:
| 能力 | 一句话说明 | 典型用法 |
|---|---|---|
| Search | 搜索网络,直接返回结果页的完整正文 | app.search("firecrawl", limit=5) |
| Scrape | 单个 URL 转 Markdown、HTML、截图或结构化 JSON | app.scrape(url, formats=["markdown"]) |
| Agent | 只描述需求,它自主搜索并取回数据 | app.agent(prompt="查 Notion 的定价") |
| Crawl / Map | 一次请求抓完整站,或瞬间列出全部 URL | app.crawl(url, limit=100)、app.map(url) |
第一次跑通:最小配置与首次调用
- 装依赖:Python 用户执行
pip install firecrawl-py,JavaScript 用户执行npm install firecrawl。 - 拿密钥:到官网注册,领一个
fc-开头的 key,配成环境变量FIRECRAWL_API_KEY。 - 首次调用:
from firecrawl import Firecrawl app = Firecrawl(api_key="fc-YOUR_API_KEY") doc = app.scrape("firecrawl.dev", formats=["markdown"]) print(doc.markdown)跑完之后,控制台打印出来的是一整段结构完整的正文:标题层级、表格都保留,导航、脚本等噪音全部剥掉了。这就是后面所有玩法的起点。
三个真实场景:批量提取、自动调研与定时抓取
把 Hacker News 首页落成结构化 JSON
你想每天存档首页榜单,但选择器解析法碰上改版就崩。examples/hacker_news_scraper/ 的做法是先写 Pydantic 模型声明要哪些字段,再调scrape_url并传formats: ["extract"]和模型的 schema,AI 按字段逐个回填:
app = FirecrawlApp() data = app.scrape_url( "https://news.ycombinator.com/", params={ "formats": ["extract"], "extract": {"schema": NewsData.model_json_schema()}, }, )跑一次,首页 30 条新闻的标题、链接、点赞数、排名就进了带时间戳的 JSON 文件。以后页面改版,你只需要维护模型,不用碰解析逻辑。
用一句话查遍符合条件的房源
单次抓取只能看一页,而"找 2000 美元以下的一居室"这类任务要跨很多页。examples/deep-research-apartment-finder/ 调deep_research,参数只有三个:maxDepth(迭代轮数,示例为 3)、timeLimit(秒级总时长上限,示例 180)、maxUrls(分析 URL 上限,示例 20)。
它在后台自己搜索、跟链接、抓下一批页面,还注册了on_activity回调把每步动作打印出来。几分钟后你拿到的是一页整理好的候选清单,房源按价格、设施、位置逐项列清,最后交给 Claude 排序推荐。
让商品价格的变动按天自动入库
盯价格靠手刷太累,而"定时 + 抓取"是这类数据的天然组合。examples/blog-articles/amazon-price-tracking/ 的思路:脚本周期性抓商品页、抽出当前价格、追加落盘,调度则完全交给 GitHub Actions 的 cron,不需要常驻进程。
效果是每天多一条价格记录,界面上画出一条趋势曲线,跌破阈值还能接通知。
进阶技巧与常见问题
两个参数级技巧:
formats可以一次传多种输出,比如 markdown 和 screenshot 一起要:markdown 喂模型省 token,截图留作人工核对的证据。- 抓整站先用
limit小批量试跑确认范围再放大;只想要站内少数页面时,app.map(url, search="pricing")能按关键词直接筛出相关 URL,省掉全量爬取。
常见问题:
- 站点反爬很强怎么办?代理轮换、限速处理和 JS 渲染内容都是内置的,官方口径覆盖率能到 96% 的网页,这块不用你操心。
- 某个字段老抽错?把 schema 里该字段的
description写得更具体,提取准确率会明显提升。 - 能自托管吗?可以。仓库根目录自带
docker-compose.yaml,执行docker compose up即可整套起本地服务,细节见 SELF_HOST.md。
Firecrawl 的价值,是把"从网页到可用数据"这段最琐碎的路压缩成一次 API 调用。完整能力清单看 README,能直接跑的演示都在 examples/ 里。
【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 🔥项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考