文档爬虫工具

Crawl4AI是一个基于库的Web文档爬取工具,能够将文档网站爬取并保存为Markdown文件。

  • by seungwonme
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 seungwonme/crawl4ai-mcp-server

使用说明

Crawl4AI文档爬虫

基于Crawl4AI库的Web文档滚动工具。滚动文档站点并将其保存为标记文件。

功能

  • 单页滚动:只抓取特定页面并将其转换为标记
  • 深度爬行:递归跟踪链接并滚动整个文档站点
  • URL前缀筛选器:选择性地滚动特定路径的页面
  • 删除自动导航:自动从滚动文档中删除导航/推送
  • 基于域的输出:基于域名自动创建目录

安装

# 의존성 설치
uv sync

使用方法

默认使用(单页滚动)

# 콘솔에 마크다운 출력
uv run cli.py crawl https://docs.crawl4ai.com

# 파일로 저장
uv run cli.py crawl https://docs.crawl4ai.com -o output

Deep Crawl(递归滚动)

# 기본 Deep Crawl (최대 100페이지, 깊이 2)
uv run cli.py crawl https://docs.crawl4ai.com --recursive

# 페이지 수와 깊이 제한
uv run cli.py crawl https://docs.crawl4ai.com \
  --recursive \
  --max-pages 50 \
  --max-depth 3

# URL 프리픽스 필터 사용 (특정 경로만 크롤링)
uv run cli.py crawl https://developers.figma.com/docs/figma-mcp-server \
  --recursive \
  --prefix https://developers.figma.com/docs/figma-mcp-server

CLI选项

选项 缩短 说明 默认值
--output-dir -o 输出目录 域名(Deep Crawl)/未指定控制台输出(单页)
--recursive -r 启用Deep Crawl模式 False
--max-pages -p 最大滚动页数(仅限Deep Crawl) 100
--max-depth -d 最大滚动深度(仅限Deep Crawl) 2
--prefix -px URL前缀过滤器(仅适用于Deep Crawl) None

验证设置预设

uv run cli.py config-list

输出格式

单页模式

  • output_dir 未指定:控制台上的标记输出
  • output_dir 指定: {output_dir}/index.md 保存为格式

Deep Crawl模式

将URL路径转换为目录结构并保存:

https://docs.crawl4ai.com/core/deep-crawling/
→ docs_crawl4ai_com/core/deep-crawling.md

https://developers.figma.com/docs/api
→ developers_figma_com/docs/api.md

项目结构

.
├── cli.py              # CLI 인터페이스
├── core.py             # 핵심 크롤링 로직
├── configs/            # 설정 프리셋
│   ├── browser.py      # 브라우저 설정
│   ├── crawler.py      # 크롤러 설정
│   └── deep_crawl.py   # Deep Crawl 전략
├── strategies/         # 컨텐츠 처리 전략
│   └── content.py      # 마크다운 정리
└── utils/              # 유틸리티 함수
    ├── domain.py       # 도메인 추출
    └── path.py         # URL → 파일경로 변환

示例

Figma MCP Server文档滚动

# Figma MCP Server 문서만 크롤링 (프리픽스 필터 사용)
uv run cli.py crawl https://developers.figma.com/docs/figma-mcp-server \
  --recursive \
  --prefix https://developers.figma.com/docs/figma-mcp-server \
  --max-pages 20

# 결과: developers_figma_com/ 디렉토리에 저장

Crawl4AI文档全部滚动

# 전체 문서 크롤링
uv run cli.py crawl https://docs.crawl4ai.com \
  --recursive \
  --max-pages 100 \
  --max-depth 3

# 결과: docs_crawl4ai_com/ 디렉토리에 저장

注意事项

  1. 编码:所有文件都以UTF-8格式保存
  2. 删除导航:滚动时自动删除导航/推送
  3. 域筛选器:Deep Crawl时只抓取同一域页面
  4. URL标题:原始URL作为头添加到每个标记文件的顶部

技术堆栈

  • Crawl4AI:Web滚动库
  • 类型:CLI框架
  • 异步:异步滚动
  • Python 3.13+:最新的Python版本

许可证

MIT许可证

贡献

欢迎随时发布问题和PR。