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.