Configuración Inicial y Autenticación
openclaw init --project "mi_proyecto_scraping"
Inicializa un nuevo proyecto OpenClaw en el directorio actual, creando los archivos de configuración necesarios.
Usa este comando al inicio de cada nuevo proyecto para una estructura organizada.
openclaw login --api-key "tu_clave_secreta"
Autentica tu sesión de OpenClaw usando una clave API, permitiendo acceso a funciones avanzadas y recursos de la nube.
Mantén tu clave API segura y no la compartas. Considera usar variables de entorno.
openclaw config set user.agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Configura un User-Agent personalizado para tus solicitudes HTTP, útil para evitar bloqueos y simular navegadores reales.
Rotar User-Agents puede mejorar la tasa de éxito en sitios con defensas anti-scraping.
openclaw proxy add http://usuario:[email protected]:8080
Agrega una configuración de proxy a tu proyecto para enmascarar tu dirección IP durante las solicitudes de scraping.
Utiliza proxies rotativos o de alta calidad para proyectos de gran volumen y evitar bloqueos.
Extracción Básica de Datos
openclaw scrape url "https://ejemplo.com/productos" --selector ".producto-titulo" --output productos.json
Extrae texto de elementos HTML que coincidan con un selector CSS específico de una URL dada y guarda los resultados en un archivo JSON.
Puedes usar múltiples selectores CSS separados por comas para extraer diferentes tipos de datos.
openclaw extract url "https://ejemplo.com/noticias" --schema esquema_noticias.json
Realiza una extracción estructurada de datos de una URL utilizando un archivo de esquema JSON predefinido que detalla los selectores y tipos de datos.
Define esquemas robustos para garantizar la consistencia y la calidad de los datos extraídos.
openclaw fetch url "https://ejemplo.com/pagina" --raw --output pagina_raw.html
Descarga el contenido HTML completo de una URL sin aplicar ninguna lógica de extracción, guardándolo en un archivo.
Útil para inspeccionar el HTML original de una página antes de definir selectores.
openclaw capture url "https://ejemplo.com/dashboard" --screenshot dashboard.png --full-page
Toma una captura de pantalla de una URL específica, capturando la página completa y guardándola como una imagen PNG.
Ideal para monitorear cambios visuales o documentar el estado de una página web.
Navegación y Paginación Avanzada
openclaw crawl url "https://ejemplo.com/blog" --follow-links ".next-page, .post-link" --depth 2
Navega a través de enlaces en una URL inicial, siguiendo patrones de enlaces específicos hasta una profundidad definida.
Controla la profundidad y los patrones de enlaces para evitar rastreos infinitos o irrelevantes.
openclaw paginate url "https://ejemplo.com/resultados" --next-button "#siguientePagina" --limit 10
Automatiza la navegación por páginas consecutivas haciendo clic en un botón de 'siguiente' o siguiendo un selector de enlace de paginación, con un límite de páginas.
Asegúrate de que el selector del botón 'siguiente' sea único y estable en todas las páginas.
openclaw interact url "https://ejemplo.com/formulario" --click "#btnAceptarCookies" --fill "#campoUsuario:[email protected]" --submit "#btnEnviar"
Simula interacciones de usuario como clics, llenado de formularios y envío, útil para acceder a contenido detrás de muros de acceso o formularios.
Prueba las interacciones manualmente en el navegador para asegurar la secuencia correcta de acciones.
openclaw scroll url "https://ejemplo.com/infinito" --to-bottom --delay 2s
Desplaza la página web hacia abajo, útil para cargar contenido dinámico en sitios con 'scroll infinito'.
Ajusta el retraso para permitir que el contenido se cargue completamente antes de intentar extraerlo.
Manipulación y Filtrado de Datos
openclaw transform data.json --jq-query ".[] | select(.precio < 50) | {titulo: .nombre, costo: .precio}" --output datos_filtrados.json
Aplica una consulta JQ a un archivo JSON para filtrar, transformar o reestructurar los datos extraídos.
JQ es una herramienta poderosa; invierte tiempo en aprender su sintaxis para manipulaciones complejas.
openclaw filter data.csv --column "Categoria" --value "Electrónica" --output electronica.csv
Filtra filas de un archivo CSV basándose en el valor de una columna específica.
Puedes combinar múltiples filtros usando operadores lógicos en consultas más avanzadas.
openclaw merge archivo1.json archivo2.json --on "id_producto" --output datos_unidos.json
Combina dos archivos de datos (JSON o CSV) basándose en una clave común, útil para unir información de diferentes fuentes.
Asegúrate de que la clave de unión tenga el mismo nombre y formato en ambos archivos.
openclaw clean data.json --remove-duplicates "url_articulo" --output datos_limpios.json
Elimina registros duplicados de un archivo de datos basándose en el valor de una o más claves.
La limpieza de datos es crucial para la calidad y la precisión de tus análisis.
Exportación y Reportes
openclaw export resultados.json --to csv --output resultados.csv
Convierte y exporta los datos extraídos de un formato (ej. JSON) a otro (ej. CSV).
OpenClaw soporta varios formatos de exportación como CSV, JSON, XML y XLSX.
openclaw report datos.json --summary --output informe_resumen.txt
Genera un informe resumido de los datos extraídos, incluyendo estadísticas básicas y conteos.
Personaliza los informes con plantillas para obtener análisis más específicos.
openclaw upload datos.csv --to s3://mi-bucket-aws/path/ --region us-east-1
Sube un archivo de datos a un servicio de almacenamiento en la nube como AWS S3, Google Cloud Storage o Azure Blob Storage.
Configura tus credenciales de la nube de forma segura antes de usar este comando.
openclaw email informe.pdf --to "[email protected]" --subject "Reporte Semanal de Scraping"
Envía un archivo adjunto (como un informe o los datos extraídos) por correo electrónico a una o varias direcciones.
Integra esto en tus flujos de trabajo de automatización para notificaciones periódicas.
Automatización y Programación
openclaw schedule "0 9 * * 1-5" --task "tarea_diaria_noticias.json"
Programa una tarea de OpenClaw para que se ejecute automáticamente a intervalos definidos, usando una sintaxis cron.
Prueba tus tareas manualmente antes de programarlas para asegurar su correcto funcionamiento.
openclaw run tarea_compleja.json
Ejecuta una tarea predefinida de un archivo JSON que contiene una secuencia de comandos y configuraciones de OpenClaw.
Las tareas complejas permiten encapsular flujos de trabajo completos de scraping.
openclaw webhook add "https://api.ejemplo.com/callback" --event "on_completion" --task-id 123
Configura un webhook para que OpenClaw envíe una notificación HTTP a una URL específica cuando un evento de tarea ocurra (ej. completada, fallida).
Los webhooks son excelentes para integrar OpenClaw con otros sistemas y disparar acciones posteriores.
openclaw monitor --task-id 456 --interval 30s
Monitorea el progreso y el estado de una tarea de OpenClaw en tiempo real, mostrando actualizaciones periódicas.
Utiliza el ID de tarea para rastrear ejecuciones específicas, especialmente en entornos concurrentes.
Depuración y Resolución de Problemas
openclaw debug url "https://sitio-problema.com" --verbose --output debug_log.txt
Ejecuta una operación de scraping en modo de depuración, proporcionando información detallada sobre cada paso y posibles errores.
El modo verbose te ayudará a identificar problemas con selectores CSS o interacciones de página.
openclaw logs --task-id 789 --tail 50
Muestra los últimos 50 registros de una tarea específica, útil para revisar errores o el progreso reciente.
Filtra los logs por nivel (INFO, WARN, ERROR) para una depuración más rápida.
openclaw validate esquema.json datos_extraidos.json
Valida un archivo de datos extraídos contra un esquema JSON, asegurando que los datos cumplen con la estructura esperada.
La validación de esquema es fundamental para mantener la calidad y consistencia de los datos.
openclaw status
Muestra el estado actual del servicio OpenClaw, incluyendo recursos utilizados, tareas en ejecución y configuraciones activas.
Revisa el estado regularmente para asegurar que OpenClaw está operando como se espera.