¿Cómo construir un pipeline potenciado por IA utilizando Scrapeless en n8n?
Advanced Data Extraction Specialist
Introducción
En el panorama actual impulsado por datos, las organizaciones necesitan formas eficientes de extraer, procesar y analizar contenido web. El web scraping tradicional enfrenta numerosos desafíos: protecciones anti-bot, renderizado complejo de JavaScript y la necesidad de mantenimiento constante. Además, hacer sentido de los datos web no estructurados requiere un procesamiento sofisticado.
Esta guía demuestra cómo construir un pipeline completo de datos web utilizando la automatización de flujo de trabajo n8n, el web scraping de Scrapeless, Claude AI para la extracción inteligente y la base de datos vectorial Qdrant para el almacenamiento semántico. Ya sea que estés construyendo una base de conocimientos, realizando investigaciones de mercado o desarrollando un asistente de IA, este flujo de trabajo proporciona una base poderosa.
Lo que crearás
Nuestro flujo de trabajo n8n combina varias tecnologías de vanguardia:
- Desbloqueador Web de Scrapeless: Web scraping avanzado con renderizado de JavaScript
- Claude 3.7 Sonnet: Extracción y estructuración de datos impulsada por IA
- Embeddings de Ollama: Generación de vectores de embedding local
- Base de Datos Vectorial Qdrant: Almacenamiento y recuperación semántica
- Sistema de Notificaciones: Monitoreo en tiempo real a través de webhooks
Este pipeline de extremo a extremo transforma datos web desordenados en información estructurada y vectorizada lista para búsqueda semántica y aplicaciones de IA.

Instalación y Configuración
Instalando n8n
n8n requiere Node.js v18, v20 o v22. Si encuentras problemas de compatibilidad de versiones:
# Verifica tu versión de Node.js
node -v
# Si tienes una versión nueva no soportada (por ejemplo, v23+), instala nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# O para Windows, utiliza el instalador de NVM para Windows
# Instala una versión compatible de Node.js
nvm install 20
# Utiliza la versión instalada
nvm use 20
# Instala n8n globalmente
npm install n8n -g
# Ejecuta n8n
n8n
Tu instancia de n8n debería estar ahora disponible en http://localhost:5678.
Configurando la API de Claude
- Visita la Consola de Anthropic y crea una cuenta
- Navega a la sección de Claves API
- Haz clic en "Crear Clave" y establece los permisos apropiados
- Copia tu clave API para usar en el flujo de trabajo de n8n (en el Comprobador de Datos de IA, el extractor de Datos de Claude y el Agente de IA de Claude)

Configurando Scrapeless
- Visita Scrapeless y crea una cuenta
- Navega a la sección de API de Scraping Universal en tu panel https://app.scrapeless.com/exemple/overview

- Copia tu token para usar en el flujo de trabajo de n8n

Puedes personalizar tu solicitud de web scraping de Scrapeless usando este comando curl e importarlo directamente en el nodo de Solicitud HTTP en n8n:
curl -X POST "https://api.scrapeless.com/api/v1/unlocker/request" \
-H "Content-Type: application/json" \
-H "x-api-token: scrapeless_api_key" \
-d '{
"actor": "unlocker.webunlocker",
"proxy": {
"country": "ANY"
},
"input": {
"url": "https://www.scrapeless.com",
"method": "GET",
"redirect": true,
"js_render": true,
"js_instructions": [{"wait":100}],
"block": {
"resources": ["image","font","script"],
"urls": ["https://example.com"]
}
}
}'

Instalando Qdrant con Docker
# Descargar imagen de Qdrant
docker pull qdrant/qdrant
# Ejecutar contenedor de Qdrant con persistencia de datos
docker run -d \
--name qdrant-server \
-p 6333:6333 \
-p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant
Verifica que Qdrant está corriendo:
curl http://localhost:6333/healthz
Instalando Ollama
macOS:
brew install ollama
Linux:
curl -fsSL https://ollama.com/install.sh | sh
Windows: Descarga e instala desde el sitio web de Ollama.
Inicia el servidor de Ollama:
ollama serve
Instala el modelo de embedding requerido:
ollama pull all-minilm
Verifica la instalación del modelo:
ollama list
Configurando el Flujo de Trabajo de n8n
Visión General del Flujo de Trabajo
Nuestro flujo de trabajo consiste en estos componentes clave:
- Activador Manual/Programado: Inicia el flujo de trabajo
- Verificación de Colección: Verifica si existe la colección de Qdrant
- Configuración de URL: Establece la URL objetivo y los parámetros
- Solicitud Web de Scrapeless: Extrae el contenido HTML
- Extracción de Datos de Claude: Procesa y estructura los datos
- Embeddings de Ollama: Genera embeddings vectoriales
- Almacenamiento Qdrant: Guarda vectores y metadatos
- Notificación: Envía actualizaciones de estado a través de webhook
Paso 1: Configurar el desencadenador del flujo de trabajo y comprobar la colección
Comienza agregando un nodo de Desencadenador Manual, luego agrega un nodo de Solicitud HTTP para comprobar si tu colección Qdrant existe. Puedes personalizar el nombre de la colección en este paso inicial; el flujo de trabajo creará automáticamente la colección si no existe.
Nota Importante: Si deseas usar un nombre de colección diferente al predeterminado "hacker-news", asegúrate de cambiarlo de manera consistente en TODOS los nodos que hacen referencia a Qdrant.
Paso 2: Configurar Solicitud Web de Scrapeless
Agrega un nodo de Solicitud HTTP para el raspado web de Scrapeless. Configura el nodo usando el comando curl proporcionado anteriormente como referencia, reemplazando YOUR_API_TOKEN con tu token de API de Scrapeless real.
Puedes configurar parámetros de raspado más avanzados en Scrapeless Web Unlocker.
Paso 3: Extracción de Datos de Claude
Agrega un nodo para procesar el contenido HTML usando Claude. Necesitarás proporcionar tu clave de API de Claude para la autenticación. El extractor de Claude analiza el contenido HTML y devuelve datos estructurados en formato JSON.
Paso 4: Formatear Salida de Claude
Este nodo toma la respuesta de Claude y la prepara para la vectorización al extraer la información relevante y formatearla adecuadamente.
Paso 5: Generación de Embeddings de Ollama
Este nodo envía el texto estructurado a Ollama para la generación de embeddings. Asegúrate de que tu servidor Ollama esté en funcionamiento y que el modelo all-minilm esté instalado.
Paso 6: Almacenamiento de Vectores Qdrant
Este nodo toma los embeddings generados y los almacena en tu colección Qdrant junto con los metadatos relevantes.
Paso 7: Sistema de Notificaciones
El nodo final envía una notificación con el estado de la ejecución del flujo de trabajo a través de tu webhook configurado.
Solución de Problemas Comunes
Problemas de Versión de Node.js de n8n
Si ves un error como:
Tu versión de Node.js X no es actualmente soportada por n8n.
¡Por favor, usa Node.js v18.17.0 (recomendado), v20 o v22 en su lugar!
Soluciona instalando nvm y usando una versión de Node.js compatible como se describe en la sección de configuración.
Problemas de Conexión a la API de Scrapeless
- Verifica que tu token de API sea correcto
- Comprueba si estás alcanzando límites de tasa de API
- Asegúrate de un formato de URL adecuado
Errores de Embedding de Ollama
Error común: connect ECONNREFUSED ::1:11434
Solución:
- Asegúrate de que Ollama esté ejecutándose: ollama serve
- Verifica que el modelo esté instalado: ollama pull all-minilm
- Usa la IP directa (127.0.0.1) en lugar de localhost
- Comprueba si otro proceso está usando el puerto 11434
Escenarios de Uso Avanzado
Procesamiento por Lotes de Múltiples URLs
Para procesar múltiples URLs en una ejecución de flujo de trabajo:
- Usa un nodo de Dividir en Lotes para procesar URLs en paralelo
- Configura un manejo de errores adecuado para cada lote
- Usa el nodo Fusionar para combinar resultados
Actualizaciones de Datos Programadas
Mantén tu base de datos vectorial actualizada con actualizaciones programadas:
- Reemplaza el desencadenador manual con un nodo de Programación
- Configura la frecuencia de actualización (diaria, semanal, etc.)
- Usa el nodo Si para procesar solo contenido nuevo o cambiado
Plantillas de Extracción Personalizadas
Adapta la extracción de Claude para diferentes tipos de contenido:
- Crea prompts específicos para artículos de noticias, páginas de productos, documentación, etc.
- Usa el nodo Interruptor para seleccionar el prompt adecuado
- Almacena las plantillas de extracción como variables de entorno
Conclusión
Este flujo de trabajo de n8n crea un potente pipeline de datos que combina las fortalezas del raspado web de Scrapeless, la extracción de inteligencia artificial de Claude, embeddings vectoriales y almacenamiento Qdrant. Al automatizar estos procesos complejos, puedes concentrarte en el uso de los datos extraídos en lugar de los desafíos técnicos para obtenerlos.
La naturaleza modular de n8n te permite extender este flujo de trabajo con pasos de procesamiento adicionales, integración con otros sistemas o lógica personalizada para satisfacer tus necesidades específicas. Ya sea que estés construyendo una base de conocimientos de IA, realizando un análisis competitivo o monitoreando contenido web, este flujo de trabajo proporciona una base sólida.
En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.



