Sobre el proyecto
Crawl4AI es una biblioteca de Python y herramienta CLI de código abierto para crawling y scraping web, diseñada para generar Markdown limpio y listo para LLM. Se usa ampliamente para construir pipelines RAG, agentes de IA y flujos de trabajo de extracción de datos.
## Resumen
Crawl4AI convierte la web en Markdown estructurado adecuado para procesamiento posterior por IA. Admite uso programático en Python y una interfaz de línea de comandos, con extracción estructurada opcional impulsada por LLM y extracción basada en esquemas CSS/XPath.
## Capacidades principales
### Generación de Markdown
- Produce Markdown limpio y estructurado con encabezados, tablas y bloques de código
- El modo Fit Markdown aplica filtrado heurístico para eliminar ruido y contenido irrelevante
- Salida con citas que convierte enlaces en referencias numeradas
- Filtrado de contenido basado en BM25 para extracción relevante según consulta
- Estrategias de generación de Markdown enchufables
### Extracción de datos estructurados
- Extracción impulsada por LLM mediante LiteLLM, compatible con modelos de código abierto y propietarios
- Extracción basada en esquema JSON usando selectores CSS y XPath
- Estrategias de segmentación (basadas en temas, regex, a nivel de oración) para procesamiento dirigido
- Búsqueda por similitud cosine para coincidencia semántica de contenido
### Integración con navegador
- Pool de navegadores asíncrono impulsado por Playwright
- Modo gestionado usando perfiles de navegador propios del usuario con estados de autenticación y cookies guardados
- Control remoto del navegador mediante el Protocolo de desarrollo de Chrome
- Soporte de proxy con autenticación
- Modo stealth para reducir la detección de bots
- Soporte multi-navegador (Chromium, Firefox, WebKit)
- Ajuste dinámico del viewport
### Características de crawling
- Ejecución de JavaScript con soporte de espera asíncrona/síncrona para contenido dinámico
- Captura de pantallazos durante el crawling
- Extracción de medios (imágenes, audio, video, formatos srcset/picture responsivos)
- Procesamiento de HTML sin procesar y archivos locales
- Extracción integral de enlaces, incluido contenido iframe
- Manejo de carga diferida y escaneo de página completa para scroll infinito
- Personalización basada en ganchos en cada paso del crawling
- Caché integrada
### Despliegue
- Servidor FastAPI dockerizado para flujos de trabajo basados en API
- Autenticación JWT (habilitada de forma predeterminada en versiones recientes)
- Panel de monitoreo y playground interactivo en `/dashboard` y `/playground`
- Integración MCP para conexiones de herramientas de IA
- Imágenes Docker multi-arquitectura (AMD64/ARM64)
- Listo para despliegue en la nube
## Instalación
```bash
pip install -U crawl4ai
crawl4ai-setup
```
Para instalación manual de Playwright:
```bash
python -m playwright install --with-deps chromium
```
## Uso
### API de Python
```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
# Crawl básico
crwl https://example.com -o markdown
# Crawl profundo
crwl https://example.com --deep-crawl bfs --max-pages 10
# Extracción 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
```
Luego visita `http://localhost:11235/dashboard` para la interfaz de monitoreo o `http://localhost:11235/playground` para el entorno de prueba interactivo.
## Detalles del proyecto
- Repositorio: unclecode/crawl4ai
- PyPI: crawl4ai
- Documentación: https://docs.crawl4ai.com/
- Comunidad Discord: https://discord.gg/jP8KfhDhyN
- Patrocinadores: https://github.com/sponsors/unclecode
El proyecto enfatiza la disponibilidad y asequibilidad abiertas, posicionándose como una alternativa autoalojada a las APIs comerciales de extracción web. Ha acumulado más de 50.000 estrellas en GitHub y mantiene activamente la seguridad mediante lanzamientos regulares.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.