news 2026/8/22 20:40:15

Firecrawl 新手完整教程:三步把任意网页变成 LLM 可用的数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Firecrawl 新手完整教程:三步把任意网页变成 LLM 可用的数据

Firecrawl 新手完整教程:三步把任意网页变成 LLM 可用的数据

【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 🔥项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl

做 AI 应用时,第一步往往卡在"从网页拿到干净数据"——requests 抓到的是原始 HTML,正则一碰上 JS 渲染页面就全废。Firecrawl 是一个开源的网页抓取 API:给它一个 URL,还你干净的 Markdown 或结构化 JSON,代理、反爬、动态渲染这些脏活它都替你干了。

先认识它:一个把网页"翻译"给大模型的 API

Firecrawl 官方把自己定位为 "The context API to search, scrape, and interact with the web at scale",直白点说:它是大模型和真实网页之间的翻译官。几个关键数字和特性,先给你建立预期:

  • Scrape:任意 URL 转 Markdown、HTML、截图或结构化 JSON,单页平均延迟在秒级
  • Crawl / Map:一次请求抓完整个网站的所有页面,或瞬间列出站内全部 URL
  • Search:搜索网络并直接返回结果页的完整正文,而不只是一串链接
  • 结构化提取:按你自己定义的 JSON Schema 抽取字段,AI 负责填
  • Actions:提取前可以点按钮、滚动、输入、等待,应对需要交互的页面

开源可自托管,也提供托管服务,两条路都走得通。

快速上手:装包、填密钥、发出第一个请求

三步完成初始化,全程不超过五分钟。

第一步,装 SDK。Python 用户执行pip install firecrawl-py,JavaScript 用户执行npm install @mendable/firecrawl-js

第二步,到 Firecrawl 官网 注册获取 API Key(有免费额度),写入环境变量FIRECRAWL_API_KEY

第三步,发出第一个抓取请求:

from firecrawl import FirecrawlApp app = FirecrawlApp(api_key="fc-YOUR_API_KEY") result = app.scrape_url("https://example.com") print(result["markdown"])

跑通后你会看到一段干净的 Markdown——没有导航栏、没有脚本,正文、标题层级、表格都保留着。这就是后面所有玩法的起点。

实战一:用数据模型锁定新闻列表,一次抓全字段

场景背景。假设你要每天存一份 Hacker News 首页的数据做分析。传统做法是写 CSS 选择器解析 HTML,页面改版一次代码就崩。

实现路径。项目里自带的 Hacker News 抓取器 展示了另一种写法:先用 Pydantic 定义"我要什么",而不是"怎么解析"。

class NewsItem(BaseModel): title: str rank: str upvotes: str

然后scrape_url时传入formats: ["extract"]NewsData.model_json_schema(),Firecrawl 的 AI 会照着模型把标题、排名、点赞数逐个填好。

运行效果。执行脚本后,一条命令得到 30 条完整新闻,自动写入带时间戳的 JSON 文件(如firecrawl_hacker_news_data_2025_01_15.json)。页面怎么改版都不影响你的字段定义,只需要改模型。

实战二:让程序自己"做研究",多轮翻遍相关网页

场景背景。一次抓取只能看一页,但很多任务需要跨多个页面搜集信息——比如"帮我找某城市 2000 美元以下的一居室"。

实现路径。公寓查找助手示例 用了 Firecrawl 的deep_research能力:你给一句自然语言查询,它自动搜索、跟链接、筛选、再抓下一批页面,循环多轮。参数只有三个:maxDepth(迭代轮数,示例设为 3)、timeLimit(总时长上限 180 秒)、maxUrls(最多分析 20 个 URL)。脚本还注册了一个on_activity回调,每一步动作都实时打印在终端,过程完全透明。

运行效果。你输入城市、预算、卧室数和设施偏好,几分钟后拿到的不是一堆链接,而是整理好的候选清单:价格、位置、设施、优缺点逐条列出,再由 Claude 做最终的排序推荐。相当于雇了一个不知疲倦的调研员。

实战三:AI 先挑页面,再批量提取公司情报

场景背景。做市场调研时,你只知道公司名,不知道该翻哪些页面。直接抓官网首页信息太少,全量爬取又太慢。

实现路径。Gemini 网页提取器示例 把流程拆成三步:先用 SerpAPI 搜出目标公司的一批搜索结果;再让大模型从结果里"挑"出最可能有价值的 URL(只输出一个 JSON 列表);最后把选中的 URL 连同提示词一起发给 Firecrawl 的/v1/extract接口,一次性批量抽取字段。

运行效果。几十秒内得到一份结构化的公司档案:主营业务、规模、联系方式等按你要求的格式返回。搜索、筛选、提取三个环节各司其职,比人工翻网页快一个量级,也远比你自写爬虫稳定。

实战四:定时抓取,搭一个自动价格跟踪系统

场景背景。盯一个商品价格,手动刷太累,而价格数据正是最适合"定时 + 抓取"的组合。

实现路径。Amazon 价格跟踪示例 的套路可以照抄:写一个脚本,每隔固定时间抓取商品页、提取当前价格、追加到数据库或 JSON 文件;再套一个 Web 界面展示历史曲线。调度不用自己维护——把它挂到 GitHub Actions 的 cron 上即可,仓库里专门有一篇 定时抓取教程 讲这个。

运行效果。每天自动落盘一条价格记录,界面上画出趋势图,跌破阈值还能触发通知。整套系统核心就两段:Firecrawl 抓价格 + Actions 管调度。

进阶技巧与常见问题

输出格式按需切换formats参数可以组合markdownhtmljsonscreenshot任意几种。只喂大模型用 markdown 最省 token;要存证据链就同时要 screenshot。

控制抓取范围。Crawl 支持limit(上限 URL 数)、includePaths/excludePaths(路径白黑名单),抓整站时先小批量试跑,确认范围再放大。

想自托管?仓库根目录自带 docker-compose.yaml,克隆仓库后docker compose up即可在本地起一套完整服务(API、worker、Redis、Playwright 都在里面),适合不想数据出内网或想改源码的用户。

常见问题

  • 被反爬挡住怎么办?不用管,代理轮换和反爬对抗是 Firecrawl 内置的,这就是它替代手写 requests 的意义。
  • 怎么调试抓取效果?先用官网 Playground 在线试,确认输出满意了再写代码。
  • 字段抽错了?把 Schema 里字段的description写得更具体,AI 提取的准确率会明显提升。

更多场景(内部链接 SEO 分析、监控告警等)都可以直接翻 examples 示例目录 照着改。

写在最后

Firecrawl 的价值一句话概括:把"从网页到可用数据"这段最琐碎的路缩成一次 API 调用。装上 SDK、填好密钥、发出第一个请求,五分钟见结果。完整功能文档看仓库首页的 README,动手示例都在 examples/ 里。

【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 🔥项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 20:37:20

C++模板编程:从泛型基础到SFINAE与Concepts实战

1. 项目概述:从“代码复印机”到“静态多态”的利器如果你写过C,尤其是写过一些需要处理多种数据类型的通用算法或数据结构,那么你一定对“代码膨胀”和“类型安全”这对矛盾深有体会。比如,你想写一个max函数,既要能比…

作者头像 李华
网站建设 2026/8/22 20:31:29

std::function封装Lambda的原理与工程实践

1. 项目概述:为什么用std::function封装Lambda,而不是直接传参?C函数模板、std::function、匿名函数——这三个词凑在一起,不是教科书里的概念堆砌,而是我去年重构一个实时音视频处理模块时踩坑踩出来的实战命题。当时…

作者头像 李华
网站建设 2026/8/22 20:29:06

洛雪音乐音源汇总 lxmusic-source-all:如何快速找到可用音源

洛雪音乐音源汇总 lxmusic-source-all:如何快速找到可用音源 【免费下载链接】lxmusic-source-all 洛雪音源汇总 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic-source-all 如果你是洛雪音乐(LX Music)客户端的用户&#xff0…

作者头像 李华
网站建设 2026/8/22 20:28:42

Headless IDE:解决LLM Agent API幻觉的开源沙箱环境

这次我们来看一个解决 LLM Agent 幻觉问题的开源项目。当开发者尝试让 AI Agent 自动调用外部 API 时,一个普遍且令人头疼的问题是:Agent 会“幻觉”出一些不存在的 API 端点、参数或数据结构,导致任务失败。这个名为“Headless IDE”的项目&…

作者头像 李华
网站建设 2026/8/22 20:28:38

MolQuest基准:评估AI在化学结构解析中的溯因推理与代理能力

1. 从“猜谜”到“破案”:为什么化学结构解析需要新基准?在化学研究的日常里,结构解析(Structure Elucidation)是每个实验化学家都绕不开的“硬骨头”。想象一下这个场景:你拿到一个未知化合物,…

作者头像 李华
网站建设 2026/8/22 20:28:01

Unity游戏翻译:免费实时翻译插件5分钟上手教程

Unity游戏翻译:免费实时翻译插件5分钟上手教程 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity Auto Translator 是一款 Unity 游戏翻译插件,专门处理外语游戏里的文本。它会…

作者头像 李华