做 RAG 或智能体的第一道坎就是网页抓取:requests 拿回来的是导航栏、页脚、广告脚本混杂的原始 HTML,直接塞给大模型既费 token 又拉低质量;传统爬虫框架解决的是「怎么爬」,从没认真解决「爬下来之后怎么喂给模型」。写一套干净的去噪、抽取、结构化流水线,每个项目都要重造一遍轮子。

Crawl4AI 是 GitHub 上星数最多的开源爬虫,专为大模型和 AI 智能体设计:把任何网站变成干净、LLM 友好的 Markdown。开源部分永久免费自托管,官方另有云服务可选。当前最新版本 v0.9.5。

项目基本信息

信息项详情
项目名称Crawl4AI
GitHub地址https://github.com/unclecode/crawl4ai
项目描述开源网页爬虫,把任意网站转成干净的大模型友好 Markdown
作者unclecode
开源协议Apache License 2.0
开源状态公开状态
LanguagesPython
支持平台Windows / macOS / Linux
最后更新2026-10-27

一、项目介绍

Crawl4AI 的核心是把网页内容转换成结构清晰、适合大模型阅读的 Markdown:保留标题、列表、表格和代码块的结构,链接自动整理成编号引用列表;Fit Markdown 用多种过滤器去掉菜单、页脚和样板内容,支持按查询主题过滤。它不只是转 Markdown,还提供结构化抽取:CSS 和 XPath 模板零 LLM 快速抽取、正则抽取,或者接任意大模型按 JSON 模式抽取;长页面支持主题、正则、句子多种分块策略,配合余弦相似度找出与查询相关的块。

浏览器控制能力同样完整:异步浏览器池加缓存让抓取速度在线;会话保持、代理、Cookie、用户脚本、钩子都能自定义;支持持久化浏览器配置文件(登录态和设置都留着)和通过 CDP 连接远程浏览器;自适应智能模式会学习站点结构,只探索有价值的页面。

部署形态三选一:Python 库本地跑、Docker 自建服务,或者用官方云 API(/scrape、/extract、/search、/serp、/answer 等端点加 MCP 接入,每月 1000 次免费额度)。

二、核心优势

第一,输出即喂料。智能 Markdown 默认带引用提示,RAG 切分前几乎不用再清洗。

第二,零门槛使用。pip 装完一条 setup 命令配好浏览器就能跑,无需 API Key。

第三,控制粒度深。从会话保持到执行钩子,反爬场景需要的手段它都留了口子。

第四,结构化抽取不走 LLM。CSS/XPath 模板路径成本为零,只有复杂语义抽取才需要模型。

三、适用场景

第一类是 RAG 知识库建设:批量抓取文档站转 Markdown 入库,是它最主流的用法。

第二类是给智能体加联网能力:接成 MCP 或云 API,Claude Code 等工具直接获得抓网页、搜网页、问答带来源的能力。

第三类是数据管道:电商价格、招聘信息、新闻聚合等周期性采集,结构化抽取加调度脚本即可成型。

四、安装教程

标准安装两步:

pip install -U crawl4ai
crawl4ai-setup

第二条命令负责安装浏览器运行时,只需执行一次。Docker 方式按仓库说明拉起服务镜像,适合服务化部署。

常见报错:crawl4ai-setup 卡在浏览器下载,可设置镜像环境变量或手动安装 Playwright 浏览器;Linux 服务器上报缺依赖库,安装 libnss3 等浏览器运行依赖;Windows 下首次运行报 Playwright 未安装,重新执行一次 setup 即可。

五、使用示例

最短路径三行代码抓一个页面:

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(url="https://news.ycombinator.com")
        print(result.markdown)

asyncio.run(main())

输出的 result.markdown 是去噪后的正文,标题列表结构完整,可直接喂给向量库。云方式更简单,一条 curl 拿 Markdown:

curl -s https://api.crawl4ai.com/scrape \
  -H "Authorization: Bearer $CRAWL4AI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://news.ycombinator.com"}' | jq -r .markdown

给 Claude Code 加抓取能力也是一条命令:

claude mcp add --transport http crawl4ai https://api.crawl4ai.com/mcp \
  --header "Authorization: Bearer $CRAWL4AI_KEY"

配好后直接在会话里说「抓这个页面总结要点」,智能体自动调用工具拿到干净正文。

六、常见问题

能爬需要登录的站点吗?可以,用持久化浏览器配置保存登录态,或连接你自己的浏览器实例。

被反爬拦截怎么办?自托管模式配代理池和自定义 UA 加会话策略;云服务端会自动处理常见反爬墙。

和 Scrapy 什么区别?Scrapy 面向通用爬取工程,Crawl4AI 面向 LLM 数据准备,两者甚至可以组合使用。

七、总结

Crawl4AI 抓住了大模型时代爬虫的真正痛点:不是爬不到,而是爬回来不能用。干净的 Markdown 输出、零成本的结构化抽取、完整的浏览器控制,加上 Apache 协议永久免费,让它在同类项目里稳居第一。做 RAG 或智能体联网,从它开始准没错。