crawl4ai

把网页抓成 LLM 爱吃的干净数据

Crawl4AI 是一个面向大语言模型的开源网页爬虫与抓取工具,用 Python 编写。它解决的核心问题是:传统爬虫抓下来的 HTML 噪声大、结构乱,直接喂给 LLM 既浪费 token 又影响效果。Crawl4AI 在抓取阶段就做清洗和结构化,把网页转成适合 LLM 消费的 Markdown、JSON 等格式,并支持提取正文、链接、媒体等元素。它内置异步并发抓取、浏览器渲染(可处理 JS 动态页面)、代理与反爬策略、缓存和会话管理,还能按 CSS/XPath 或 LLM 指令抽取字段。对做 RAG、AI Agent、数据采集的开发者来说,它把“抓取—清洗—结构化”串成一条流水线,减少自己拼 requests+BeautifulSoup+Playwright 的重复工作,可直接接入向量库或对话系统。

开源 freemium 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 83826
维护状态 活跃
是否开源
定价模式 freemium

项目数据

分类自动化工作流
开发团队unclecode
所属国家
定价模式freemium
价格说明开源免费,官网提供云服务付费方案,定价信息待确认
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型
GitHub 星标★ 83826
30天Star增速
HF 下载量
上线时间2024-05-09 00:00:00
最近更新2026-09-18 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • 已安装 Python 与 pip 环境
  • 可访问外网(安装依赖与抓取网页)
  • 如需容器部署需已安装 Docker
  • 如需修改源码需 git

安装与启动步骤

  1. 1安装 Crawl4AI

    用 pip 安装并升级到最新版,默认装异步版本,底层用 Playwright 抓取网页。

    pip install -U crawl4ai
  2. 2初始化运行环境

    执行安装后脚本,自动下载并配置 Playwright 浏览器等运行依赖。

    crawl4ai-setup
  3. 3检查安装状态

    运行自检命令,排查环境与依赖是否就绪;有报错按提示修复。

    crawl4ai-doctor
  4. 4手动装浏览器

    仅在出现 Playwright/浏览器相关报错时执行,自动安装 chromium 及系统依赖。

    python -m playwright install --with-deps chromium
  5. 5运行爬取示例

    新建 py 文件写入官方示例,异步抓取指定网页并打印 LLM 友好的 Markdown。

    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())
  6. 6Docker 方式部署

    可选方案,拉取官方镜像并以 11235 端口启动服务,共享内存需设为 1g。

    docker pull unclecode/crawl4ai:latest
    docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
  7. 7源码开发安装

    适合要改源码的贡献者,克隆仓库后以可编辑模式安装,按需追加可选特性。

    git clone https://github.com/unclecode/crawl4ai.git
    cd crawl4ai
    pip install -e .

关键配置

配置项必填说明示例
BrowserConfig(headless=True)浏览器是否无头运行,示例默认开启无头模式提升速度BrowserConfig(headless=True, verbose=True)
CrawlerRunConfig(cache_mode=CacheMode.EN控制抓取缓存策略,ENABLED 复用缓存、BYPASS 强制重新抓取CrawlerRunConfig(cache_mode=CacheMode.BYPASS)
DefaultMarkdownGenerator(content_filter=指定 Markdown 生成时的内容过滤器,用于裁剪噪声正文DefaultMarkdownGenerator(content_filter=PruningContentFilter

如何确认成功

执行 crawl4ai-doctor 无报错,且运行示例脚本能成功打印出网页的 Markdown 内容即表示正常。

常见问题

Q:提示 Playwright 或浏览器相关错误怎么办?

A:先执行 crawl4ai-setup;若仍报错,手动运行 python -m playwright install --with-deps chromium(或 playwright install)重新安装浏览器。

Q:想要同步版(Selenium)怎么安装?

A:执行 pip install crawl4ai[sync],但官方已标注同步版本废弃、未来会移除,建议直接使用异步版本。

Q:Docker 方式启动后服务在哪个端口?

A:容器以 -p 11235:11235 映射,宿主机通过 11235 端口访问;启动时务必加 --shm-size=1g 避免浏览器崩溃。

Q:想基于源码开发或使用可选特性怎么装?

A:git clone 仓库后进入目录执行 pip install -e .,再按需安装 pip install -e ".[torch]"、".[transformer]"、".[all]" 等可选依赖。

注意事项

  • 同步(Selenium)版本已废弃,后续版本将移除,新项目请用异步版本
  • Docker 部署必须保留 --shm-size=1g,否则容器内浏览器易内存不足
  • pip 安装会默认带上异步版本与 Playwright,务必执行 crawl4ai-setup 完成浏览器初始化
  • v0.9.3 为安全修复版本,建议安装/升级到最新版避免已知漏洞

核心亮点

  • 抓取即清洗,直接输出 Markdown/JSON,省去二次解析
  • 支持异步并发与浏览器渲染,能处理 JS 动态页面
  • 内置 CSS/XPath 与 LLM 抽取,可按指令提取结构化字段

不足之处

  • 功能面广导致配置项多,新手需要一定学习成本
  • 重度依赖浏览器渲染时资源占用和运行成本偏高

适用场景

  • 为 RAG 知识库批量采集并清洗网页正文
  • AI Agent 实时抓取网页内容作为上下文
  • 监控竞品或资讯站点并结构化抽取关键信息

替代项目

Firecrawl、Scrapy

项目介绍

crawl4ai 是一个自动化工作流领域的开源项目,官方简介:Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Don't be shy, join here: https://discord.gg/jP8KfhDhyN。项目使用 Python 开发,在 GitHub 上获得 83557 星标。

上一篇:llm-pid-tuner

下一篇:mixamo-llm-mocap

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 204578 2026-08-10
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 299 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95585 2026-08-10
customermates 开源

比 Pipedrive 直观 10 倍的现代开源 CRM,轻松管理客户与自动化流程。

Building a modern alternative to Pipedrive that is 10x more intuitive.

★ 227 2026-08-10