Subir archivos a "docs"
This commit is contained in:
@@ -0,0 +1,91 @@
|
|||||||
|
# 🪟 Instalación de Ubuntu + n8n en Windows (WSL2)
|
||||||
|
|
||||||
|
> ← [Volver al índice](../README.md) | Siguiente: [☁️ Google Cloud VM →](./02-gcloud-vm-n8n.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Requisitos previos
|
||||||
|
|
||||||
|
- Windows 10 versión 2004+ o Windows 11
|
||||||
|
- Acceso a Microsoft Store
|
||||||
|
- PowerShell con permisos de administrador
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 1 — Instalar Ubuntu 24.04 LTS
|
||||||
|
|
||||||
|
Descarga desde Microsoft Store:
|
||||||
|
|
||||||
|
👉 [Ubuntu 24.04 LTS](https://apps.microsoft.com/store/detail/ubuntu-2404-lts/9NZ3KLHXDJP5)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 2 — Habilitar WSL2
|
||||||
|
|
||||||
|
Abre **PowerShell como administrador** y ejecuta:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
wsl --install
|
||||||
|
```
|
||||||
|
|
||||||
|
Esto habilita WSL2 y descarga Ubuntu automáticamente.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 3 — Reiniciar el equipo
|
||||||
|
|
||||||
|
Windows completará la instalación durante el reinicio.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 4 — Configurar Ubuntu
|
||||||
|
|
||||||
|
- Abre **Ubuntu 24.04** desde el menú de inicio.
|
||||||
|
- Crea tu **usuario** y **contraseña** cuando se te solicite.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 5 — Instalar dependencias y n8n
|
||||||
|
|
||||||
|
Ejecuta los siguientes comandos en orden dentro de Ubuntu:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Instalar NVM (última versión estable)
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||||
|
|
||||||
|
# Recargar bash para que funcione nvm
|
||||||
|
source ~/.bashrc
|
||||||
|
|
||||||
|
# Instalar Node.js LTS (última recomendada por n8n)
|
||||||
|
nvm install --lts
|
||||||
|
|
||||||
|
# Verificar versiones
|
||||||
|
node -v
|
||||||
|
npm -v
|
||||||
|
|
||||||
|
# Instalar n8n última versión
|
||||||
|
npm install -g n8n@latest
|
||||||
|
|
||||||
|
# Ejecutar n8n
|
||||||
|
n8n
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 6 — Acceder a n8n
|
||||||
|
|
||||||
|
Abre en tu navegador:
|
||||||
|
|
||||||
|
👉 [http://localhost:5678](http://localhost:5678)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notas
|
||||||
|
|
||||||
|
- n8n se ejecuta en primer plano. Cierra la terminal y se detendrá.
|
||||||
|
- Para entornos de producción o con dominio propio, consulta los pasos de [Google Cloud VM](./02-gcloud-vm-n8n.md) y [HTTPS](./03-https-nginx.md).
|
||||||
|
- Esta instalación es ideal para **desarrollo local y pruebas**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> ← [Volver al índice](../README.md) | Siguiente: [☁️ Google Cloud VM →](./02-gcloud-vm-n8n.md)
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
# ☁️ Instalación de n8n en Google Cloud VM
|
||||||
|
|
||||||
|
> ← [Anterior: 🪟 WSL2](./01-wsl2-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🔐 HTTPS →](./03-https-nginx.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Requisitos previos
|
||||||
|
|
||||||
|
- Cuenta en [Google Cloud Console](https://console.cloud.google.com/)
|
||||||
|
- Proyecto activo con facturación habilitada
|
||||||
|
- `gcloud` CLI instalado *(opcional, también se puede hacer desde la web)*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 1 — Crear la VM en Google Cloud
|
||||||
|
|
||||||
|
1. Ingresa a [Google Cloud Console](https://console.cloud.google.com/).
|
||||||
|
2. Ve a **Compute Engine > VM Instances**.
|
||||||
|
3. Haz clic en **Create Instance** y configura:
|
||||||
|
|
||||||
|
| Campo | Valor recomendado |
|
||||||
|
|-------|------------------|
|
||||||
|
| **Nombre** | `n8n-vm` |
|
||||||
|
| **Región/Zona** | La más cercana a tu ubicación |
|
||||||
|
| **Machine type** | `e2-medium` (2 vCPU, 4 GB RAM) |
|
||||||
|
| **Boot disk** | Ubuntu 24.04 LTS |
|
||||||
|
| **Firewall** | ✅ Allow HTTP traffic / ✅ Allow HTTPS traffic |
|
||||||
|
|
||||||
|
4. Haz clic en **Create**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 2 — Conectarse a la VM
|
||||||
|
|
||||||
|
Desde la consola o terminal:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gcloud compute ssh n8n-vm --zone us-central1-a
|
||||||
|
```
|
||||||
|
|
||||||
|
También puedes usar el botón **SSH** directamente desde la consola web de GCP.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 3 — Actualizar paquetes
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt update && sudo apt upgrade -y
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 4 — Instalar dependencias y n8n
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Instalar NVM
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||||
|
|
||||||
|
# Recargar bash
|
||||||
|
source ~/.bashrc
|
||||||
|
|
||||||
|
# Instalar Node.js LTS
|
||||||
|
nvm install --lts
|
||||||
|
|
||||||
|
# Verificar versiones
|
||||||
|
node -v
|
||||||
|
npm -v
|
||||||
|
|
||||||
|
# Instalar n8n
|
||||||
|
npm install -g n8n@latest
|
||||||
|
|
||||||
|
# Ejecutar n8n
|
||||||
|
n8n
|
||||||
|
```
|
||||||
|
|
||||||
|
n8n quedará escuchando en el puerto **5678** por defecto.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 5 — Abrir puertos en el firewall de Google Cloud
|
||||||
|
|
||||||
|
### Opción A: Desde la consola web
|
||||||
|
|
||||||
|
1. Ve a **VPC Network > Firewall**.
|
||||||
|
2. Clic en **Create Firewall Rule** y configura:
|
||||||
|
|
||||||
|
| Campo | Valor |
|
||||||
|
|-------|-------|
|
||||||
|
| **Name** | `allow-n8n` |
|
||||||
|
| **Targets** | All instances in the network |
|
||||||
|
| **Source IP ranges** | `0.0.0.0/0` *(o tu IP para mayor seguridad)* |
|
||||||
|
| **Protocols/Ports** | TCP: `80, 443, 5678` |
|
||||||
|
|
||||||
|
### Opción B: Con gcloud CLI
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gcloud compute firewall-rules create allow-n8n \
|
||||||
|
--allow tcp:80,tcp:443,tcp:5678 \
|
||||||
|
--source-ranges=0.0.0.0/0 \
|
||||||
|
--target-tags=n8n-server
|
||||||
|
```
|
||||||
|
|
||||||
|
Luego edita tu VM y en **Network tags** agrega `n8n-server`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 6 — Acceder a n8n
|
||||||
|
|
||||||
|
Abre en tu navegador:
|
||||||
|
|
||||||
|
👉 `http://EXTERNAL_IP:5678`
|
||||||
|
|
||||||
|
*(La IP externa está visible en la consola de GCP)*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 7 (Opcional) — Ejecutar n8n en segundo plano con PM2
|
||||||
|
|
||||||
|
Sin PM2, n8n se detiene al cerrar la sesión SSH.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install -g pm2
|
||||||
|
|
||||||
|
pm2 start n8n
|
||||||
|
pm2 save
|
||||||
|
pm2 startup
|
||||||
|
```
|
||||||
|
|
||||||
|
PM2 se asegura de que n8n se reinicie automáticamente tras reinicios de la VM.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ Nota de seguridad
|
||||||
|
|
||||||
|
> No expongas el puerto `5678` directamente en producción. Lo ideal es configurar un **proxy inverso con Nginx + SSL**.
|
||||||
|
> Consulta el siguiente paso: [🔐 Habilitar HTTPS](./03-https-nginx.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> ← [Anterior: 🪟 WSL2](./01-wsl2-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🔐 HTTPS →](./03-https-nginx.md)
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
# 🔐 Habilitar HTTPS en Google Cloud (Nginx + Certbot)
|
||||||
|
|
||||||
|
> ← [Anterior: ☁️ Google Cloud VM](./02-gcloud-vm-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🕷️ Crawl4AI →](./04-crawl4ai-ubuntu.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Requisitos previos
|
||||||
|
|
||||||
|
- VM en Google Cloud con Ubuntu 24.04 *(ver [paso anterior](./02-gcloud-vm-n8n.md))*
|
||||||
|
- n8n ya instalado y corriendo con PM2
|
||||||
|
- Un **dominio propio** con un registro **A** apuntando a la IP externa de tu VM:
|
||||||
|
|
||||||
|
```
|
||||||
|
n8n.midominio.com → EXTERNAL_IP_VM
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 1 — Instalar n8n con PM2 (si no lo hiciste aún)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||||
|
source ~/.bashrc
|
||||||
|
nvm install --lts
|
||||||
|
npm install -g n8n@latest
|
||||||
|
|
||||||
|
npm install -g pm2
|
||||||
|
pm2 start n8n
|
||||||
|
pm2 save
|
||||||
|
pm2 startup
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 2 — Instalar Nginx
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt install -y nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
### Crear configuración para n8n
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nano /etc/nginx/sites-available/n8n
|
||||||
|
```
|
||||||
|
|
||||||
|
Pega el siguiente contenido (reemplaza `n8n.midominio.com` por tu dominio real):
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name n8n.midominio.com;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://localhost:5678;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Activar el sitio
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
|
||||||
|
sudo nginx -t
|
||||||
|
sudo systemctl reload nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
n8n ya será accesible en `http://n8n.midominio.com`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 3 — Instalar Certbot para HTTPS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt install -y certbot python3-certbot-nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
Ejecuta el proceso de certificación:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo certbot --nginx -d n8n.midominio.com
|
||||||
|
```
|
||||||
|
|
||||||
|
Durante el proceso:
|
||||||
|
- Acepta los términos de servicio.
|
||||||
|
- Selecciona la opción de **redirigir todo el tráfico a HTTPS**.
|
||||||
|
|
||||||
|
Certbot configurará Nginx automáticamente para usar TLS.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 4 — Verificar acceso
|
||||||
|
|
||||||
|
Abre en tu navegador:
|
||||||
|
|
||||||
|
👉 `https://n8n.midominio.com`
|
||||||
|
|
||||||
|
n8n estará corriendo con **HTTPS válido y seguro** ✅
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Paso 5 — Renovación automática de certificados
|
||||||
|
|
||||||
|
Certbot instala un cron job que renueva los certificados antes de que expiren. Puedes verificarlo con:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo certbot renew --dry-run
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Resultado final
|
||||||
|
|
||||||
|
Con esta configuración tienes:
|
||||||
|
|
||||||
|
- ✅ **n8n corriendo en segundo plano** con PM2
|
||||||
|
- ✅ **Acceso seguro** vía Nginx + HTTPS (Let's Encrypt)
|
||||||
|
- ✅ **Firewall en GCP** abierto solo en puertos `80` y `443` (ya no necesitas exponer el `5678`)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> ← [Anterior: ☁️ Google Cloud VM](./02-gcloud-vm-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🕷️ Crawl4AI →](./04-crawl4ai-ubuntu.md)
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
# 🕷️ Instalación de Crawl4AI en Ubuntu
|
||||||
|
|
||||||
|
> ← [Anterior: 🔐 HTTPS](./03-https-nginx.md) | [Volver al índice](../README.md) | Siguiente: [📋 Proyecto →](./05-proyecto-website-craw-css.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Requisitos previos
|
||||||
|
|
||||||
|
- Ubuntu 22.04+ (local vía WSL2 o en Google Cloud VM)
|
||||||
|
- Python 3 y pip instalados
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt update && sudo apt install -y python3 python3-pip
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instalación básica
|
||||||
|
|
||||||
|
### 1 — Instalar el núcleo de Crawl4AI
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install crawl4ai
|
||||||
|
```
|
||||||
|
|
||||||
|
Esto instala la versión base sin características adicionales como modelos ML o Transformers.
|
||||||
|
|
||||||
|
### 2 — Ejecutar la configuración inicial
|
||||||
|
|
||||||
|
```bash
|
||||||
|
crawl4ai-setup
|
||||||
|
```
|
||||||
|
|
||||||
|
Este comando instala y configura las dependencias del navegador: Playwright, librerías del sistema, etc.
|
||||||
|
|
||||||
|
### 3 — Diagnosticar el entorno *(opcional pero recomendado)*
|
||||||
|
|
||||||
|
```bash
|
||||||
|
crawl4ai-doctor
|
||||||
|
```
|
||||||
|
|
||||||
|
Verifica compatibilidad de Python, instalación de Playwright y variables del sistema.
|
||||||
|
|
||||||
|
### 4 — Verificar la instalación con un ejemplo
|
||||||
|
|
||||||
|
```python
|
||||||
|
import asyncio
|
||||||
|
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig
|
||||||
|
|
||||||
|
async def main():
|
||||||
|
async with AsyncWebCrawler() as crawler:
|
||||||
|
result = await crawler.arun(url="https://www.example.com")
|
||||||
|
print(result.markdown[:300])
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
asyncio.run(main())
|
||||||
|
```
|
||||||
|
|
||||||
|
Ejecuta el script y verás los primeros 300 caracteres de `example.com` en formato Markdown.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instalación avanzada *(opcional)*
|
||||||
|
|
||||||
|
Elige según las capacidades que necesites:
|
||||||
|
|
||||||
|
| Variante | Comando |
|
||||||
|
|----------|---------|
|
||||||
|
| Con PyTorch | `pip install crawl4ai[torch] && crawl4ai-setup` |
|
||||||
|
| Con Transformers | `pip install crawl4ai[transformer] && crawl4ai-setup` |
|
||||||
|
| Todas las características | `pip install crawl4ai[all] && crawl4ai-setup` |
|
||||||
|
|
||||||
|
### Pre-descargar modelos *(solo si los necesitas)*
|
||||||
|
|
||||||
|
```bash
|
||||||
|
crawl4ai-download-models
|
||||||
|
```
|
||||||
|
|
||||||
|
> ⚠️ Los modelos son pesados. Descárgalos solo si tu flujo los requiere.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Opción Docker *(experimental)*
|
||||||
|
|
||||||
|
La documentación oficial indica que la vía Docker es **experimental** y puede cambiar. No se recomienda para producción aún.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull unclecode/crawl4ai:latest
|
||||||
|
docker run -p 11235:11235 unclecode/crawl4ai:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
Consulta la [documentación oficial de Crawl4AI](https://docs.crawl4ai.com/core/installation/) para actualizaciones.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Resumen de comandos
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Instalación mínima
|
||||||
|
pip install crawl4ai
|
||||||
|
crawl4ai-setup
|
||||||
|
|
||||||
|
# Verificar entorno
|
||||||
|
crawl4ai-doctor
|
||||||
|
|
||||||
|
# Instalación completa
|
||||||
|
pip install crawl4ai[all]
|
||||||
|
crawl4ai-setup
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> ← [Anterior: 🔐 HTTPS](./03-https-nginx.md) | [Volver al índice](../README.md) | Siguiente: [📋 Proyecto →](./05-proyecto-website-craw-css.md)
|
||||||
@@ -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