Crawl4AI

Habilidad de web scraping para Claude AI. Rastrea sitios web, extrae datos estructurados con estrategias CSS/LLM, maneja contenido dinámico de JavaScript. Construido sobre crawl4ai con referencia completa del SDK, scripts de ejemplo y pruebas.

Documentación

Habilidad de Agente Crawl4AI

Extrae sitios web con mucho JavaScript y extrae datos estructurados mediante esquemas CSS reutilizables. Una habilidad de agente portátil que envuelve la CLI y el SDK de Python de Crawl4AI, escrita en el formato SKILL.md de Anthropic y consumible por cualquier host de agente que cargue paquetes en formato SKILL.md (Claude Code, Codex, Cursor, OpenCode, Cline y otros).

Verificada contra la versión 0.8.9 de la librería Crawl4AI (fijada en VERSION).

Características

  • Rastreo consciente de JavaScript: renderizado completo con navegador headless con valores predeterminados de wait_until=networkidle
  • Extracción basada en esquemas: deriva un esquema de selectores CSS una vez mediante LLM, aplícalo para siempre sin costo adicional de LLM
  • Extracción con LLM: extracción estructurada por solicitud cuando no vale la pena derivar un esquema
  • Filtrado de contenido: filtro de relevancia BM25 y poda basada en calidad, markdown simple o salida markdown-fit
  • Rastreo por lotes concurrente: procesamiento de múltiples URL con límites de concurrencia por trabajo
  • Gestión de sesiones: sesiones persistentes para flujos autenticados y de múltiples pasos
  • CLI y SDK: tanto la herramienta de línea de comandos crwl como el SDK de Python crawl4ai

Instalación

Clona el repositorio en el directorio de habilidades desde el que carga tu host de agente:

# Claude Code
git clone https://github.com/brettdavies/crawl4ai-skill.git ~/.claude/skills/crawl4ai

Para otros hosts de agente (Codex, Cursor, OpenCode, Cline, agentes personalizados), clona en el directorio que tu host escanea en busca de paquetes en formato SKILL.md. Consulta la documentación de tu host para conocer la ubicación del directorio de habilidades. La raíz del paquete contiene SKILL.md, por lo que la habilidad se registra automáticamente una vez que el directorio está en la ruta de búsqueda de habilidades del host.

Requisitos previos

La habilidad invoca la librería de Python Crawl4AI, que debe estar instalada en el entorno de ejecución que usa tu agente:

pip install crawl4ai
crawl4ai-setup
crawl4ai-doctor

crawl4ai-doctor valida la instalación y confirma que hay un navegador headless disponible.

Inicio rápido

CLI:

crwl https://example.com -c "wait_until=networkidle,page_timeout=60000" -o markdown
crwl https://example.com -o json -v --bypass-cache

SDK de Python:

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun("https://example.com")
        print(result.markdown[:500])

asyncio.run(main())

Estructura del paquete

RutaContenido
SKILL.mdPunto de entrada: condiciones de activación, valores predeterminados, enrutamiento a pipelines especializados
references/Nueve guías de referencia para CLI, SDK, extracción, filtrado, anti-detección, descubrimiento de URL, escalamiento
scripts/Seis scripts auxiliares PEP 723 para flujos de trabajo de rastreo / extracción / lote
templates/Plantillas YAML/JSON reutilizables para navegador, rastreador, filtros y estrategias de extracción
evals/Cuatro escenarios de evaluación para verificar el comportamiento de la habilidad de extremo a extremo
fixtures/Fixture de referencia para generación de esquemas (HTML de muestra, esquema esperado, salida JSON esperada)
tests/Suite de Pytest que cubre rastreo básico, generación de markdown, extracción, patrones avanzados y fixtures
VERSIONVersión fijada de la librería Crawl4AI contra la que se verifica la habilidad
LICENSE-APACHE, LICENSE-MIT, LICENSETextos de licencia dual y resumen (SPDX MIT OR Apache-2.0)

Documentación

  • SKILL.md: documentación completa de la habilidad con ejemplos
  • Guía de CLI: referencia de la interfaz de línea de comandos
  • Guía de SDK: referencia rápida del SDK de Python
  • Referencia completa del SDK: documentación completa de la API (más de 5900 líneas)
  • Recetas: recetas de tareas de extremo a extremo (flujo de inicio de sesión, rastreo de sitemap, extracción paginada)
  • Filtros de contenido: compensaciones entre BM25, poda y LLMContentFilter
  • Descubrimiento de URL: sitemap, robots.txt, recorrido del grafo de enlaces
  • Anti-Detección: scripts de inicialización, configuración de proxy, modo no detectado, adjunto de CDP
  • Solución de problemas: síntomas, causas, correcciones
  • Escalamiento: orden de búsqueda, criterios de detención vs. continuación, ejemplos trabajados

Casos de uso comunes

Documentación a markdown

crwl https://docs.example.com -o markdown > docs.md

Monitoreo de productos de comercio electrónico

# Derive the schema once (uses LLM)
./scripts/generate_schema.py https://shop.example.com "products with name, price, image" shop_schema.json

# Apply the saved schema (no LLM cost per request)
./scripts/extract_with_schema.py https://shop.example.com shop_schema.json products.json

Agregación de noticias con filtrado de relevancia

for url in news1.com news2.com news3.com; do
  crwl "https://$url" -f templates/filter_bm25.yml -o markdown-fit
done

Scripts

ScriptPropósito
scripts/basic_crawler.py <url>Una URL → markdown + captura de pantalla
scripts/batch_crawl.py <urls.txt>Muchas URL → archivos markdown
scripts/batch_extract.py <urls.txt> <schema.json>Muchas URL + esquema → JSON
scripts/generate_schema.py <url> "<instruction>"Deriva un esquema CSS reutilizable (llamada LLM única)
scripts/extract_with_schema.py <url> <schema.json>Aplica un esquema guardado (sin LLM)
scripts/extract_with_llm.py <url> "<instruction>"Extracción LLM por solicitud (costosa; solo para una vez)

Pruebas

cd tests
python run_all_tests.py

Licencia

Con licencia dual bajo Apache License 2.0 (LICENSE-APACHE) o MIT License (LICENSE-MIT) a tu elección. Identificador SPDX: MIT OR Apache-2.0. Consulta LICENSE para el aviso completo.

Contribuciones

Las contribuciones son bienvenidas. Abre una solicitud de extracción.

Registro de cambios

Consulta CHANGELOG.md.