Об этом проекте
Crawl4AI — это open-source Python-библиотека и инструмент командной строки (CLI) для веб-скрапинга, предназначенный для получения чистого, готового для LLM Markdown-вывода. Широко используется при построении RAG-пайплайнов, AI-агентов и рабочих процессов извлечения данных.
## Обзор
Crawl4AI превращает веб в структурированный Markdown, подходящий для последующей обработки ИИ. Поддерживает как программное использование через Python, так и командную строку, с опциональным LLM-управляемым извлечением структурированных данных и/schema-извлечением на основе CSS/XPath.
## Ключевые возможности
### Генерация Markdown
- Создаёт чистый структурированный Markdown с заголовками, таблицами и блоками кода
- Fit Markdown режим применяет эвристическую фильтрацию для удаления шума и нерелевантного контента
- Вывод с учётом цитирования: преобразует ссылки в нумерованные_references_
- BM25-фильтрация контента для извлечения, релевантного запросу
- Подключаемые стратегии генерации Markdown
### Извлечение структурированных данных
- LLM-управляемое извлечение через LiteLLM, поддержка open-source и проприетарных моделей
- JSON-схема на основе CSS-селекторов и XPath
- Стратегии чанкинга (темо-ориентированный, regex, пословный) для целевой обработки
- Поиск по косинусному сходству для семантического сопоставления контента
### Интеграция с браузером
- Асинхронный пул браузеров на базе Playwright
- Управление браузером с использованием пользовательских профилей с сохранёнными auth-состояниями и cookies
- Удалённое управление браузером через Chrome DevTools Protocol
- Поддержка прокси с аутентификацией
- Stealth-режим для снижения обнаружения ботов
- Поддержка нескольких браузеров (Chromium, Firefox, WebKit)
- Динамическая настройка viewport
### Возможности краулинга
- Выполнение JavaScript с async/sync wait-поддержкой для динамического контента
- Снимок экрана во время краулинга
- Извлечение медиа (изображения, аудио, видео, responsive srcset/picture форматы)
- Обработка raw HTML и локальных файлов
- Комплексное извлечение ссылок, включая iframe-контент
- Обработка lazy load и полностраничное сканирование для infinite scroll
- Кастомизация на основе хуков на каждом шаге краулинга
- Встроенное кэширование
### Развёртывание
- Docker-контейнеризированный FastAPI-сервер для API-рабочих процессов
- JWT-аутентификация (включена по умолчанию в последних версиях)
- Панель мониторинга и интерактивная playground-среда по адресам `/dashboard` и `/playground`
- MCP-интеграция для подключения к ИИ-инструментам
- Многоархитектурные Docker-образы (AMD64/ARM64)
- Готовность к облачному развёртыванию
## Установка
```bash
pip install -U crawl4ai
crawl4ai-setup
```
Для ручной установки Playwright:
```bash
python -m playwright install --with-deps chromium
```
## Использование
### Python API
```python
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(url="https://example.com")
print(result.markdown)
asyncio.run(main())
```
### CLI
```bash
# Базовый краулинг
crwl https://example.com -o markdown
# Глубокий краулинг
crwl https://example.com --deep-crawl bfs --max-pages 10
# LLM-экстракция
crwl https://example.com -q "Extract all product prices"
```
### Docker
```bash
docker pull unclecode/crawl4ai:latest
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
```
Затем откройте `http://localhost:11235/dashboard` для панели мониторинга или `http://localhost:11235/playground` для интерактивной тестовой среды.
## Детали проекта
- Репозиторий: unclecode/crawl4ai
- PyPI: crawl4ai
- Документация: https://docs.crawl4ai.com/
- Discord-сообщество: https://discord.gg/jP8KfhDhyN
- Спонсоры: https://github.com/sponsors/unclecode
Проект делает акцент на открытой доступности и доступной цене, позиционируя себя как self-hosted альтернативу коммерческим API для веб-извлечения. Проект набрал более 50 000 звёзд на GitHub и активно поддерживает безопасность благодаря регулярным релизам.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.