Crawl4AI:GitHub 53K+ Stars,专为LLM优化的开源爬虫,把整个互联网变成RAG就绪的Markdown

Crawl4AI:GitHub 53K+ Stars,专为LLM优化的开源爬虫,把整个互联网变成RAG就绪的Markdown最新版

官方版无广告7

更新日期:2026年8月6日分类标签:语言:中文平台:没限制

0 人已下载 手机查看

一、这个项目在解决什么

如果你做过 RAG(检索增强生成)或 AI Agent,迟早会遇到一个痛点:网页内容不等于 LLM 可用的内容

传统爬虫抓回来的是 HTML,里面夹杂着导航栏、广告、脚本、样式、Cookie 横幅——这些对人类浏览有用,对 LLM 来说全是噪音。你得自己写清洗逻辑、自己处理表格/代码块/链接引用、自己想办法过滤无关内容。

unclecode/crawl4ai 就是为解决这个问题而生的:一个专为 LLM 和 AI 应用设计的网页爬虫,输出的是干净、结构化、带引用标注的 Markdown,可直接喂给 RAG 系统、AI Agent 或数据管道。

截至 2025 年底,它已获得 53K+ GitHub Stars,是目前最受欢迎的开源爬虫项目

二、作者故事:愤怒驱动的开源

作者 unclecode 在 README 里写了一段”个人故事”:

我在研究生阶段专攻 NLP,为学术研究写过爬虫。2023 年,我需要一个”网页转 Markdown”的工具。当时市场上的”开源”方案要求注册账号、获取 API Token、还要付 $16——结果还不好用。

我当时就怒了,几天之内写出了 Crawl4AI,发布后迅速走红。现在它是 GitHub 上 Star 数最多的爬虫项目。

我做开源是为了可用性(availability)——任何人不需要门槛就能用。现在我正在做平台,是为了可负担性(affordability)——任何人都能在不破产的前提下跑大规模爬取。

这个故事解释了 Crawl4AI 的两个核心基因:零门槛安装大规模生产可用

三、核心特性

1. LLM 友好的输出

  • 干净的 Markdown:自动保留标题层级、表格、代码块、引用,过滤导航/广告/脚注
  • Fit Markdown:启发式过滤,只保留对 AI 有用的核心内容
  • 引用与参考文献:把页面链接转为编号引用列表,方便溯源
  • BM25 过滤:基于经典信息检索算法,按用户查询筛选最相关的内容块

2. 高性能异步架构

  • 异步浏览器池:基于 Playwright 的异步并发爬取
  • 智能缓存:避免重复抓取,提升速度
  • Prefetch 模式:v0.8.0 新增,URL 发现速度提升 5–10 倍
  • 崩溃恢复:长时间深度爬取支持断点续爬(resume_state + on_state_change 回调)

3. 完整的浏览器控制

  • 会话管理:保持登录态、Cookies、User Agent
  • 浏览器画像:创建持久化 Profile,保存认证状态
  • 代理支持:无缝对接代理池
  • JS 执行:动态内容抓取,等待异步渲染
  • 隐蔽模式:模拟真实用户,绕过反爬检测
  • 远程浏览器控制:通过 Chrome DevTools Protocol 远程大规模抓取

4. 结构化数据提取

  • LLM 驱动提取:支持所有主流 LLM(开源/闭源),自定义 Schema 输出 JSON
  • 分块策略:主题分块、正则分块、句子级分块
  • 余弦相似度:按语义相关性筛选内容块
  • CSS/XPath 提取:快速定位重复模式(商品列表/表格/评论区)

5. 部署与扩展

  • Docker 化部署:内置 FastAPI 服务器,一键启动
  • JWT 认证:API 安全内置(v0.9.0 起默认开启)
  • 命令行工具crwl 命令行接口,无需写代码即可爬取
  • 云端就绪:适配主流云平台部署

四、快速开始

安装

# 安装包
pip install -U crawl4ai

# 运行安装后设置
crawl4ai-setup

# 验证安装
crawl4ai-doctor

Python 代码示例

import asyncio
from crawl4ai import *

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://www.nbcnews.com/business",
        )
        print(result.markdown)

if __name__ == "__main__":
    asyncio.run(main())

命令行使用

# 基础爬取,输出 Markdown
crwl https://www.nbcnews.com/business -o markdown

# 深度爬取(BFS 策略,最多 10 页)
crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10

# LLM 提取(指定问题)
crwl https://www.example.com/products -q "Extract all product prices"

五、版本演进与安全加固

Crawl4AI 近期版本更新频繁,安全加固力度很大:

版本 核心更新
v0.9.2 修复 MemoryAdaptiveDispatcher 任务/页面泄漏,Docker Monitor WebSocket 认证,GPU 构建支持
v0.9.0 安全优先版本:Docker API 默认开启认证,请求体作为不可信边界,服务器默认绑定本地回环
v0.8.7 安全加固:修复 Docker API 的 RCE、SSRF、认证绕过、文件写入、XSS、硬编码 JWT 密钥等严重漏洞
v0.8.0 崩溃恢复(断点续爬)+ Prefetch 模式(5–10 倍 URL 发现速度)
v0.7.8 稳定性修复:11 个 bug 修复,覆盖 Docker API、LLM 提取、URL 处理

这种安全迭代节奏,说明项目已经进入生产可用阶段,团队对漏洞响应非常及时。

六、典型使用场景

场景一:RAG 知识库构建

某技术博客采集 CSDN 专栏 500 篇文章:

  • 传统爬虫(Requests + BeautifulSoup):爬取 3 小时,分页漏掉 20% 文章,代码块/公式/表格全乱码,手动整理 6 小时
  • Crawl4AI + LLM 提取:爬取+清洗+结构化 1 小时完成,效率提升 6 倍

场景二:AI Agent 工具调用

让 AI Agent 实时抓取网页内容,自动提取关键信息:

from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, LLMExtractionStrategy
from pydantic import BaseModel

class ProductInfo(BaseModel):
    name: str
    price: float
    rating: float

async def extract_products(url):
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url=url,
            extraction_strategy=LLMExtractionStrategy(
                llm_config=LLMConfig(provider="openai/gpt-4o"),
                schema=ProductInfo
            )
        )
        return result.extracted_content

场景三:大规模深度爬取

# 深度爬取 + 断点续爬
config = CrawlerRunConfig(
    deep_crawl_strategy=BFSDeepCrawlStrategy(max_depth=3),
    cache_mode=CacheMode.ENABLED,
)

async with AsyncWebCrawler() as crawler:
    result = await crawler.arun(
        url="https://docs.crawl4ai.com",
        config=config
    )

七、与其他爬虫的对比

维度 传统爬虫(Scrapy/BeautifulSoup) Crawl4AI
输出格式 HTML/原始文本,需自行清洗 LLM 就绪的 Markdown,自动过滤噪音
动态内容 需额外配置 Headless 浏览器 内置 Playwright,开箱即用
LLM 集成 无,需自己写提取逻辑 内置 LLMExtractionStrategy,支持所有主流 LLM
会话管理 需自行实现 内置 Session/Profile 管理
部署方式 纯 Python 脚本 Python CLI + Docker API 服务器
安全加固 依赖用户自行处理 v0.9.0 起默认开启认证,修复过 RCE/SSRF 等严重漏洞

八、Cloud API 计划

Crawl4AI 正在筹备云端 API 服务(Closed Beta):

  • 定位:比现有方案成本更低的大规模网页提取服务
  • 目标用户:需要大规模、稳定、高性价比网页提取的企业/团队
  • 申请方式:填写表单,分批 onboard

这说明项目正在从”开源工具”向”开源 + 商业平台”演进——开源版本保证可用性,云端版本提供可负担的大规模能力。

九、适用人群

适合:

  • RAG 系统构建者(需要把网页内容转为向量数据库输入)
  • AI Agent 开发者(需要实时抓取网页并提取结构化信息)
  • 数据工程师(需要大规模、生产级爬虫管道)
  • 研究者/分析师(需要快速采集大量网页内容进行分析)

不适合:

  • 简单一次性抓取(直接用浏览器开发者工具或 curl 即可)
  • 高度定制化的反爬对抗场景(Crawl4AI 提供了隐蔽模式,但极端场景可能需要更专业的方案)

十、一句话总结

Crawl4AI 是目前 GitHub 上最受关注的 LLM 友好型爬虫——它把”网页抓取 + 清洗 + 结构化”这三步合并成一步,输出直接可用的 Markdown,背后是一个 53K+ Star 的社区、持续的安全加固和即将推出的云端服务。

GitHub 地址:https://github.com/unclecode/crawl4ai
官方文档:https://docs.crawl4ai.com/
Discord 社区:https://discord.gg/jP8KfhDhyN

相关软件

暂无评论

暂无评论...