Files
SpiderBrand/docs/05-proyecto-website-craw-css.md
2026-05-09 17:49:37 +00:00

3.8 KiB

📋 Documento del Proyecto — Website Craw CSS

Anterior: 🕷️ Crawl4AI | Volver al índice


1. Iniciación

Campo Detalle
Objetivo Automatizar la extracción de productos desde páginas web mediante Crawl4AI, procesar los datos con n8n y exportarlos en formato usable (JSON/archivo)
Stakeholders Equipo de datos/marketing (consumirá los resultados), equipo de IT (mantendrá el flujo en n8n)
Justificación Reducir esfuerzo manual en scraping, garantizar consistencia de datos y preparar pipeline para análisis en Google Sheets u otras herramientas

2. Planificación

Requerimientos técnicos

  • Servidor con n8n instalado (Ubuntu/Docker)
  • Conexión a Crawl4AI
  • Credenciales: httpBasicAuth y httpHeaderAuth
  • Acceso a Google Sheets (OAuth2 configurado)

Alcance

  • Número de URLs a escanear: Array.from({ length: 2 }) → 2 páginas por ahora, escalable
  • Campos a extraer: link, título, rating (conteo de estrellas), descripción, precio, stock

Riesgos

Riesgo Descripción
🔴 Bloqueo de IP Crawling excesivo puede resultar en bloqueo por el sitio objetivo
🟡 Cambio en HTML Si la estructura de la web cambia, los selectores CSS deben actualizarse
🟡 Fallos de credenciales Acceso perdido a Crawl4AI o Google Sheets interrumpe el flujo

3. Diseño y Arquitectura

Flujo de nodos en n8n

Manual Trigger
      │
      ▼
Markdown Crawl Request ──► POST a Crawl4AI con URLs + esquema JSON-CSS
      │
      ▼
Wait (15s) ──────────────► Pausa mientras Crawl4AI procesa
      │
      ▼
Get LLM Crawl ───────────► Recupera resultados por task_id
      │
      ▼
LLM if In Process ───────► ¿Sigue en estado "pending/processing"?
      │         │
    [Sí]      [No]
      │         │
      └─────────┤
                ▼
         LLM Result ──────► Convierte rating a número (star_count)
                │
                ▼
           Split Out ──────► Divide resultados por producto
                │
                ▼
        Convert to File ───► Exporta a archivo final (JSON/CSV)
                │
                ▼
       [Opcional] Google Sheets ── (deshabilitado por defecto)

Tipo de arquitectura: Workflow asincrónico con polling + procesamiento + exportación.


4. Ejecución / Desarrollo

Implementación inicial

  1. Configurar credenciales: crawl4aiserver, panel, Google Sheets.
  2. Probar con dataset pequeño (2 páginas) para validar selectores CSS.

Edición futura

  • Ampliar Array.from({ length: N }) para procesar más páginas.
  • Ajustar baseSelector y fields si cambia la estructura web.
  • Habilitar el módulo de Google Sheets para registro en línea.

5. Monitoreo y Control

Logs

Revisar ejecuciones en: n8n → Execution History

KPIs

Indicador Descripción
% productos extraídos Porcentaje de productos extraídos correctamente por batch
Tiempo de procesamiento Tiempo promedio por batch de páginas

Control de cambios

  • Antes de editar schema.fields, probar en ambiente de desarrollo.
  • Documentar versiones del flujo (versionId ya está incluido en el JSON de n8n).

6. Cierre / Entrega

Entregable Formato
Archivo de productos estructurados JSON o CSV
Exportación automática Google Drive / Google Sheets
Documentación de uso Este repositorio

Anterior: 🕷️ Crawl4AI | Volver al índice