AI 网页抓取
Firecrawl / Crawlee / Crawl4AI / GPT Crawler / ScrapeGraphAI — 直接吐 LLM 可用 markdown 的抓取引擎,不再处理裸 HTML。
这个 pack 装了什么
| # | 引擎 | 强项 | 语言 |
|---|---|---|---|
| 1 | Firecrawl | 托管 API + 自托管,JS 渲染,sitemap 爬取 | TypeScript |
| 2 | Crawlee | 完整爬虫框架,带代理轮转 | TypeScript / Python |
| 3 | Crawl4AI | RAG 优化的 markdown,最快异步爬取 | Python |
| 4 | GPT Crawler | 一份配置文件搞定聊天机器人知识库爬取 | TypeScript |
| 5 | ScrapeGraphAI | 通过 prompt + schema 让 LLM 驱动抽取 | Python |
这五个工具有一个共同认识:把裸 HTML 喂给 LLM 是 token 税。等你剥完导航栏、广告、脚本、内联样式,已经烧了几千 token 啥都没干。AI 原生抓取器把这个转换放在爬虫边缘,让检索层只看到干净 markdown。
为什么 2026 年抓取换了打法
三个变化把老抓取套路逼退休了。
第一,JavaScript 渲染已是基线。SPA 和边缘渲染网站把内容藏在水合后面,2018 年那一套(requests + BeautifulSoup)只能拿到外壳。现代引擎包了 headless Chromium,等到正确的 network-idle 事件才抽取。
第二,目的地是检索,不是展示。输出不是进搜索索引,而是进向量数据库做 RAG。优化目标从「在浏览器里渲染好」变成「干净塞进 8k token」。
第三,反爬升级。Cloudflare / DataDome / PerimeterX 几秒就把朴素爬虫挡掉。Firecrawl 和 Crawlee 通过住宅代理轮转、浏览器指纹随机化、智能重试解决了这些问题 —— 你自己拼这些得花几周。
一条命令装齐
# 装整个 pack
tokrepo install pack/ai-web-scraping
# 或者挑跟你栈匹配的引擎
tokrepo install firecrawl
tokrepo install crawl4ai
tokrepo install scrapegraphai
每个资产的 TokRepo 页面都打包好了安装命令、推荐配置,以及主流输出适配器(markdown、JSONL、向量库直插)。
常见坑
- Robots.txt 和速率限制:守规矩。多数引擎默认开
respect_robots_txt,关掉等 IP 被封 + 法律麻烦。设礼貌爬取延迟 - 没开 JS 渲染就抓 JS 页面:Firecrawl/Crawl4AI 返回空,多半是水合页面没启用渲染。打开 JS 选项
- Markdown 风格不一致:不同引擎吐出的 markdown 略有差异(表格、代码块、脚注)。混用引擎做同一 RAG 语料时要后处理统一
- PDF/Office 文件伪装成网页:网页爬虫提不出来,转交给文档 AI 流水线 pack
- 登录后内容:爬登录后内容脆弱且常违反 ToS。能用官方 API 就用官方
这个 pack 单跑不够
这个 pack 是抽取层。要凑出完整 RAG 流水线还需要:
- 向量数据库 —— 看向量数据库横评 pack(Chroma / Weaviate / Qdrant 等)
- 切块 + embedding 步骤 —— 一般 LangChain 或 LlamaIndex 黏合
- 评测循环 —— LLM 评测 & 护栏 pack 评检索相关度
PDF 和 Office 输入换文档 AI 流水线 pack。交互式抓取(填表、走向导)该用浏览器自动化 pack —— 那种站点要 Playwright 风格的交互,不是爬取。
怎么挑引擎
- 想要托管 API、不想管基础设施:Firecrawl。五个里 dev-ex 最好,JS 渲染和代理轮转内建
- 要在自有硬件爬几百万页:Crawlee。最成熟的爬虫框架,带队列持久化和可恢复运行
- 用 Python 建 RAG 入库:Crawl4AI。异步优先设计,同样机器上吞吐是同步爬虫的 3-5 倍
- 一次性给聊天机器人导出知识库:GPT Crawler。一份
config.ts指向一个域名,吐出 JSONL 直接喂 OpenAI 文件上传 - 页面 schema 不规整、想按意图抽取:ScrapeGraphAI。你给它 Pydantic 模型和 prompt,它每页自己摸出 selector
5 个资产打包就绪
常见问题
这些工具都免费吗?
五个全开源。Firecrawl 有托管 SaaS 版带免费额度,但你可以免费自托管。Crawlee / Crawl4AI / GPT Crawler / ScrapeGraphAI 是 100% 自托管 BSD/MIT 许可。隐藏成本是代理服务 —— 爬反爬严的站点要住宅代理,月支出 $50-200。
Firecrawl 还是 Crawl4AI 该选哪个?
想要托管端点不想管基础设施,选 Firecrawl —— API 更简洁,JS 渲染稳。要 Python 原生 + 自托管最大吞吐,选 Crawl4AI —— 异步架构原始速度比 Firecrawl 快,但运维粘合多。给 Cursor/Codex CLI agent 调工具用,两个都行,Firecrawl 步骤少。
能给 Cursor / Codex CLI 当工具用吗?
可以 —— 多数都有 MCP server 或 HTTP API,任何带 tool-calling 的 AI 工具都能调。Firecrawl 自带官方 MCP server。Crawl4AI 暴露 Python 函数你可以包一层。把 MCP 配置丢进 Cursor 设置或 Codex CLI agent 定义,LLM 就能按需抓取。
跟浏览器自动化 pack 有什么区别?
抓取是抽取优先:你想从 URL 可预测的页面拿 LLM 可用 markdown。浏览器自动化是交互优先:点击、填表、跳转、截图。有重叠(都用 headless Chromium),但 API 形态和典型流程不同。建 RAG 语料就用本 pack。填表就用浏览器自动化。
运维上最大的坑?
贪心爬取导致 token 爆炸。一个 sitemap 1 万页 × 每页 5k token = 5000 万 embedding token,OpenAI 价格轻松 $500+。永远先设 max_pages 和 max_depth,先跑 50 页采样,数 token,估账单,再放出去。忘了便宜,修起来贵。