n8n + Puppeteer — scraping Chrome headless sin la operativa
DiffHook maneja Puppeteer por ti, espera a que el DOM se asiente, difiere el resultado frente al snapshot anterior y entrega los cambios a n8n por un webhook firmado. Sin binario de Chromium, sin imagen Docker, sin reiniciar-en-OOM.
Alojar Puppeteer dentro de un despliegue de n8n es la típica trampa: el binario de Chromium infla el tamaño de la imagen, los workers pierden memoria tras unos cientos de ejecuciones y cualquier cambio de página rompe el script de selectores a las 3 de la mañana. DiffHook lleva el navegador a una flota gestionada. Describes una vez qué vigilar y n8n solo ve el diff post-render — nunca los crashes del navegador, nunca la latencia de arranque en frío, nunca el drift de versión de los plugins stealth.
El hub completo de n8n + DiffHook
Todas las recetas, plantillas y precios de n8n en un solo lugar.
Flujo
Conecta diffs renderizados por Puppeteer a n8n en 5 pasos
El navegador corre de nuestro lado. n8n solo ve cambios — sin arranques en frío, sin procesos Chromium zombis.
Expón un webhook n8n
Añade un nodo disparador Webhook a un flujo n8n nuevo o existente y anota la URL de producción. Ese es el destino al que DiffHook hará POST cuando el DOM renderizado cambie.
Elige html_rendered y el motor Puppeteer
Pon type a html_rendered y render.engine a puppeteer. Añade wait_for_selector o wait_until: networkidle para que DiffHook solo tome el snapshot cuando la página haya terminado de cargar JS y datos.
Apunta al elemento correcto con un selector
DiffHook aplica el selector CSS al DOM renderizado. Un selector apretado (una ficha de producto concreta, una fila de precio, un banner de estado) mantiene el diff enfocado y hace que n8n solo dispare ante la señal que importa.
Crea el monitor
POST a /v1/monitors con la URL, la config de render, el selector, el intervalo y una entrega webhook hacia tu URL de n8n. DiffHook planifica las ejecuciones de Puppeteer — no tienes nada con forma de navegador.
Reacciona al cambio en n8n
Cuando la salida del selector renderizado cambia, el nodo Webhook de n8n dispara con un cuerpo JSON firmado: previous_value, current_value, url, detected_at. Verifica el HMAC y enruta el diff a los pasos posteriores.
Ejemplo de API
Monitor renderizado por Puppeteer, un POST
render.engine elige el navegador. Puppeteer es un buen valor por defecto para sitios que examinan expresamente huellas de la familia Chrome.
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json
{
"type": "html_rendered",
"url": "https://spa.example.com/pricing",
"render": { "engine": "puppeteer", "wait_for_selector": "[data-ready]" },
"css_selector": "main .plan",
"interval_seconds": 600,
"deliveries": [
{
"type": "webhook",
"url": "https://n8n.yourdomain.com/webhook/spa-pricing"
}
]
}Flujo importable
Arranca con un flujo n8n ya hecho
La plantilla verifica el HMAC, parsea el HTML renderizado por Puppeteer con HTML Extract y envía filas estructuradas a una base Notion. Edita el nodo de destino a tu gusto.
FAQ
n8n Puppeteer — preguntas frecuentes
Puppeteer vs Playwright — ¿qué motor elijo?
¿Tengo que correr mi propio Chromium en algún sitio?
¿Cómo trata DiffHook las páginas que cargan contenido al hacer scroll?
¿Puedo pasar cookies de auth a Puppeteer?
¿Cuál es la cadencia mínima en monitores renderizados?
Flujos relacionados
También geniales con DiffHook
n8n + Playwright
El otro motor renderizado — a veces uno pasa un WAF donde el otro no.
Web scraping n8n
Scraping de HTML estático para páginas que no necesitan navegador — más barato y rápido cuando aplica.
Webhook n8n
Verificar el HMAC, deduplicar entregas, reejecutar eventos fallidos — detalles en la página webhook genérica.
Web scraping Zapier
El mismo motor renderizado hacia Catch Hooks de Zapier — forma de monitor idéntica.
Web scraping Make.com
Enruta el diff post-render al módulo webhook de Make.com para automatización low-code.
Sustituir un script de scraping
¿Migras de un script Puppeteer + cron casero? Aquí tienes el monitor gestionado.
Deja de distribuir Chromium con tu imagen de n8n
Flota Puppeteer gestionada, webhooks firmados con HMAC, comprobaciones cada 60 segundos, plan gratuito. Despliega a producción en minutos.