社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

GitHub 上 18.4 万 Star 的爬虫神器,让我的 Codex 终于能真正看懂网页了!

Java基基 • 1 周前 • 88 次点击  

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构

RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRM、WMS、MES、HRM、AI大模型、IoT物联网、IM聊天等功能:

  • 多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • 微服务:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK25 + SpringBoot4、JDK17/21+SpringBoot3、JDK8/11+Spring Boot2三版本 

QUOTE

让 Codex 真正读懂动态网页,Firecrawl值得拆开看。

我每天都要让 AI 帮我干一件事,联网找资料。盯 GitHub 热榜、翻项目文档、看热门信息,基本都靠它。

但 Codex 自带的联网能力是真的弱。静态 HTML 能读,碰到 JS 渲染的页面直接抓瞎,抓回来一个空壳,它还会一本正经地告诉你这页面没内容。后来我把 Firecrawl 接上,同一个页面就能读了。

本文看点

01

先说它解决了什么问题

02

六个能力,拼在一起是一条流程

03

抓和爬,把网页变成干净的 Markdown

01

OVERVIEW

先说它解决了什么问题

Firecrawl 是个网页数据 API,开源,2024 年 4 月放出来的。干的事说起来特别简单,丢给它一个网址,它还给你干净的 Markdown、结构化 JSON 或者截图。

价值在于网页是给人看的,不是给 AI 看的。导航栏、广告、页脚、弹窗全塞在 HTML 里,直接喂给模型,一个普通页面能吃掉几万 token,其中大半是垃圾。Firecrawl 只把正文抠出来。

这个项目现在十八万多 Star,进了 GitHub 全站前 100,用的人已经很多了。

— firecrawl/firecrawl 仓库首页,Star 185k

官方给的数据是 125 万开发者、15 万家公司接入,SDK 在 npm 和 PyPI 加起来每周下载 250 万次。

— 项目 README 的标识与徽章区


02

OVERVIEW

六个能力,拼在一起是一条流程

它的东西不算多,六个端点,但排在一起正好是从发现到交互的一条线。

找源头用 Search,看全貌用 Map,拿正文用 Scrape,铺整站用 Crawl,想让它自己找就用 Agent,数据藏在点击后面就上 Interact。

— Firecrawl 控制台的实际界面


03

OVERVIEW

抓和爬,把网页变成干净的 Markdown

Scrape 是最基础的用法,也是调用频率最高的一个。给一个 URL,返回正文 Markdown。JS 渲染的页面它自己会渲染完再抠内容,代理、反爬、等待加载这些都不用你操心。

除了 Markdown,还能要原始 HTML、页面截图、页面元数据。挂个 schema,它直接按字段返回 JSON,比如只要标题和价格。另外,网页上挂着的 PDF 和 DOCX 它也能直接解析,白皮书和财报不用先下载再处理。

Scrape 管一页,Crawl 管一站。给一个起始 URL,它顺着链接把整个站点的页面抓回来。深度、页面数上限、路径过滤这些参数都能配,SDK 会自己轮询任务状态,抓完一次性返回,不用写循环等结果。官方给的 P95 延迟是 3.4 秒,做实时 Agent 的场景也够用。


04

OVERVIEW

Map 和 Search,先看清楚再动手

抓之前想知道一个站有多大,先跑 Map。它不抓内容,只把域名下所有已索引的 URL 列出来,秒回。

Map 还能带搜索词。只要一个站点里跟定价相关的页面,加个 search 参数就够,结果按相关度排好返回,写竞品监控脚本的时候省事。

Search 不需要 URL,直接给关键词。它搜完网页,把每条结果的完整页面内容一起带回来。老做法是搜一遍再抓一遍,中间还得自己处理去重,它一步出结果。


05

OVERVIEW

Agent 和 Interact,让它自己去点

Agent 连 URL 都不用给。说一句「找一下 Notion 的定价方案」,它自己去搜、去读,返回结果和来源链接。挂 schema 能拿结构化输出,模型有两档,spark-1-mini 便宜 60%,日常够用;spark-1-pro 贵一些,适合跨站点对比、要钻复杂导航的活。

Interact 对付的是藏在点击后面的数据,电商搜索结果、要翻页的列表,普通抓取够不着。它先抓页面,然后你用大白话指挥它,比如「搜一下机械键盘,点第一个结果」。能做的动作有点击、滚动、输入、等待和按键。它会真的去操作页面再返回结果,输出里还带一个实时浏览器画面的链接。


06

OVERVIEW

接进 Claude Code 和 Codex,是这篇的重点

这部分才是我写这篇文章的原因。它有官方 MCP 服务器,Cursor、Claude Code、Windsurf 这些 MCP 客户端填几行配置就能用。Claude Code 和 Codex 还有现成的 Skill,一条命令装好。

···bash

npx -y firecrawl-cli@latest init --all --browser

装完要重启一下你的 agent 才会生效。官方另外还提供 npx skills add firecrawl/skills 这个技能目录入口,走 MCP 的话则是把下面这段塞进客户端的配置里,填上自己的 FIRECRAWL_API_KEY 就能用。

···json

{

 "mcpServers": {

  "firecrawl-mcp": {

   "command": "npx",

   "args": ["-y", "firecrawl-mcp"],

   "env": { "FIRECRAWL_API_KEY": "fc-YOUR_API_KEY" }

  }

 }

}

顺带一提,那个 MCP 服务器是独立仓库维护的,MIT 协议,和主项目分开。


07

OVERVIEW

我拿它试了两个活

我用的是 Codex,装完直接试了两条指令。

···bash

搜一下最新的 Next.js App Router 更新日志,给我总结一下

— Codex 执行搜索指令后的返回

···bash

抓取 https://docs.firecrawl.dev 这个页面,列出顶级章节

— Codex 执行抓取指令后的返回

两个可能踩的坑提前说。报 spawn npx ENOENT 说明本地没装 Node,装上就行,npm 上这两个包现在都要求 Node 22 以上。实在不想装 Node 也有办法,把配置里的本地命令换成远程地址,一样能用。


08

OVERVIEW

谁会真正用得上它

做 RAG 的,拿它把文档站和资料站灌进知识库,比手写爬虫省心太多。

做竞品监控的,定时 Crawl 对手的官网和定价页,字段级 JSON 直接进库。

玩 AI 编程的,给 Claude Code 或者 Codex 接上,AI 就有了靠谱的眼睛,不再靠训练数据里的旧信息瞎猜,我属于这一类。另外 n8n、Zapier、Lovable 这些平台也有现成集成,不写代码也能接。


09

OVERVIEW

三件事得说清楚

第一是覆盖率。官方口径是 96%,基准是一千条 URL 的测试集,剩下那部分大多是防护最严的站,抓不动就是抓不动,别指望它万能。

第二是协议。核心是 AGPL-3.0,不过 SDK 和部分 UI 组件是 MIT,云版另有额外功能,想自己搭的话官方有独立的自建指南。商用场景先把这几条读明白。

第三是合规。它默认遵守 robots.txt,但守规矩的责任在用的人,拿它抓什么、怎么用,自己掂量。

我的判断是这个项目火得有道理。抓取是脏活,反爬、代理、JS 渲染,自己搞一套要脱层皮,搞完还得天天维护;它把这些打包成一个 API,输出还直接贴合了 AI 的胃口。网页数据这层基础设施,做 AI 应用的绕不开,它目前是这个位置里最能打的开源选手。

仓库地址是  https://github.com/firecrawl/firecrawl

END




欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/202436