Subir archivos a "docs"
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
# 📋 Documento del Proyecto — Website Craw CSS
|
||||
|
||||
> ← [Anterior: 🕷️ Crawl4AI](./04-crawl4ai-ubuntu.md) | [Volver al índice](../README.md)
|
||||
|
||||
---
|
||||
|
||||
## 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](./04-crawl4ai-ubuntu.md) | [Volver al índice](../README.md)
|
||||
Reference in New Issue
Block a user