专为 LLM 做的开源爬虫,把网页洗成干净 Markdown 再喂给模型。
做 RAG 或做 agent 抓数据,最难的不是拿到 HTML,而是把导航栏、广告、弹窗一堆噪声去掉,留下真正有内容的那段。Crawl4AI 就是冲着这件事写的:输出直接是带结构信息的 Markdown,还能按 CSS / XPath / LLM 三种方式抽字段。仓库 Python 写的,Apache-2.0,当前约 8.7 万星(以 GitHub 为准),最新版本 v0.9.5(2026-10)。
| 项目名称 | Crawl4AI |
|---|---|
| 编程语言 | Python(要求 3.10+) |
| 开源许可证 | Apache-2.0(附署名条款,以仓库 LICENSE 为准) |
| GitHub 地址 | https://github.com/unclecode/crawl4ai |
| 官网或 Demo | https://crawl4ai.com/ |
核心能力
1. 输出就是可用的 Markdown,不是一堆标签
核心方法 arun() 返回的结果里带 markdown 字段,里面分原始版与 fit_markdown(经 BM25 与剪枝过滤后的正文版)。实际差别很大:直接拿页面 HTML 转文本,一篇文档里三成是导航与推荐位;用 fit 版本,模型的上下文利用率明显高。它还会把引用链接、图片、表格、元数据分开给出,拼引用时不用再正则。
2. 异步与批量,不是一条一条慢慢爬AsyncWebCrawler 配 arun_many(),一批 URL 并发跑,可以配速率限制与内存自适应调度。做价格监控、竞品页面定期采集这类任务,几百个链接能在一轮里跑完,不用自己写 asyncio 调度。
3. 抽取策略:先选便宜的,不行再上 LLM
内置 JsonCss、JsonXPath、JsonLxml、Regex、Cosine、NoExtraction,以及 LLM 型抽取。顺序应该是:结构稳定的页面先用 CSS/XPath(零 token、毫秒级);版式会变的再用 LLM。很多人一上来就用 LLM 抽,成本高且不稳定,其实大部分列表页用 CSS 选择器就够。
4. 深度爬取:给个入口,它自己走
支持 BFS、DFS、BestFirst 三种策略,可以配 URL 过滤规则与相关性评分,只跟有价值的链接。BestFirst 适合文档站:从首页出发,它会优先跟“文档”“指南”这类路径,不会一头扎进博客存档里把几千页全爬下来。
5. 浏览器控制与反爬基本功
支持自定义 viewport、等待条件、stealth 模式、会话保持、iframe、代理配置(含带凭据的格式),还能捕获网络请求与控制台信息。遇到需要滚动加载或登录态的页面,这些参数是能不能拿到数据的关键。它也能识别并保存 CSV、PDF 等非 HTML 文件。
6. Docker 服务化:REST API + Webhook + 监控页
官方提供 Dockerfile 与 docker compose,默认端口 11235,带 JWT 认证、Webhook 回调(失败指数退避重试)、自定义 hooks 与 Playground 调试页。适合把爬取能力做成内部服务,让其他系统调,而不是每台机器装一套 Python 环境。值得注意的是 0.9.0 是一次安全加固的破坏性变更,旧版本升级要看迁移文档。
使用上手
- 装包。
pip install crawl4ai(需 Python 3.10+),然后跑crawl4ai-setup自动装 Playwright 浏览器。 - 做环境体检。
crawl4ai-doctor会检查依赖与浏览器是否就绪,报错信息比裸跑脚本清楚。 - 先单页试。用
AsyncWebCrawler爬一个目标页,看result.markdown里的 fit 版本是不是你要的正文。 - 再批量。确认单页 OK 后改
arun_many(),加并发上限,别把对方站打挂。 - 需要结构化字段就配抽取策略。先写 CSS schema,不行再切 LLM 模式。
- 要对外提供服务就上 Docker。
docker compose up后访问 11235 端口,记得改默认 JWT 密钥。
优点与不足
优点:
- 输出为 LLM 友好格式,省掉自己做清洗与正文提取的一大堆代码。
- 同步、异步、批量、深度爬取都有,不只是个单页获取器。
- 抽取策略从零成本到 LLM 全覆盖,可按页面稳定性选。
- 部署方式多:库、CLI、Docker 服务、托管 API 都有。
不足:
- 依赖 Playwright 与浏览器,首次安装体积大,无头环境容易踩坑。
- 0.9.0 起有破坏性变更,老项目升级需要改代码。
- 许可证带署名条款,商用前要看清具体要求。
- 开箱不解决验证码与强反爬,复杂目标仍需自己加代理与策略。
适合谁
- 做 RAG、需要把大量网页变成干净文本的开发者。
- 要定期采集价格、公告、招投标等公开数据的团队。
- 想把爬取能力包成内部 API 的后端工程师。
下载与访问
- 仓库:https://github.com/unclecode/crawl4ai
- 官网:https://crawl4ai.com/
- 文档:https://github.com/unclecode/crawl4ai/tree/main/docs
许可证与部署
| 方案 | 价格 | 说明 |
|---|---|---|
| 源码部署 | 免费 | pip install crawl4ai 或 git clone 后本地安装 |
| Docker 服务 | 免费 | 端口 11235,含 REST API、Webhook 与 Playground |
| 托管 API | 免费额度 | 官方 Cloud 提供免费 API Key,每月 1000 credits,无需信用卡 |
| 许可证 | Apache-2.0 | 附署名条款,商用与二次分发前请核对 LICENSE 原文 |
本文属于「项目」分类的 AI 资源专栏,更多评测见分类页。
评论 0
还没有评论,来说两句吧。