Script para monitorizar cambios en un sitio — o salta el script
Si estás buscando en Google «python script monitor website» o «node monitor webpage», ya conoces la receta: descargar una URL, hacer un hash, compararlo con la ejecución anterior y alertar si hay cambios. Esta página muestra la versión corta en ambos lenguajes — y después la alternativa gestionada con webhooks que sustituye al script en producción.
El script de abajo funciona cerca de una semana. Luego cambia una clase CSS, el portátil se suspende, el cron muere en silencio, se rota la URL del webhook de Slack y nadie se entera de que el monitor ha dejado de dispararse. DiffHook es la versión en la que otro asume la infraestructura, el webhook va firmado con HMAC y el registro de entrega sobrevive a un reinicio del portátil.
Python
Script Python para monitorizar un sitio
Una docena de líneas de Python bastan para sondear una página, hacer un hash de la respuesta y detectar un cambio. La parte del «¿y ahora qué?» es donde los scripts de verdad crecen — reintentos, deduplicación, entrega firmada, logs.
import hashlib, time, urllib.request
URL = "https://example.com/pricing"
last = None
while True:
html = urllib.request.urlopen(URL).read()
h = hashlib.sha256(html).hexdigest()
if last and h != last:
print("changed") # then… what?
last = h
time.sleep(300)Esto aguanta para una página en una demo. Para cualquier cosa en producción hacen falta: timeouts, cabecera User-Agent, manejo de errores, una base de datos (o al menos un archivo) para guardar el último hash y una capa de entrega que no tumbe el script.
Node
O: hacer POST de un monitor a DiffHook
El equivalente en Node — salvo que, en vez de mantener el bucle de polling, esto crea un monitor gestionado que se ejecuta en la infraestructura de DiffHook y dispara un webhook cuando hay cambio.
await fetch("https://api.diffhook.com/v1/monitors", {
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
type: "page",
url: "https://example.com/pricing",
interval_seconds: 300,
deliveries: [{ type: "webhook", url: hookUrl }],
}),
})Sin cron, sin VPS, sin «¿se me suspendió el portátil?». El webhook está firmado con HMAC-SHA256 y se reintenta en caso de fallo. Los logs de entrega se consultan vía API.
Por qué sustituir el script
Lo que un monitor gestionado realmente te aporta
Por algo nadie deja su script de polling en Python en producción. Estos son los seis modos de fallo que acaban en guardia de fin de semana.
Sin fallos silenciosos
Cuando el monitor de DiffHook no puede obtener una página, recibes una notificación — no un cron en silencio que lleva tres semanas funcionando mal.
Webhooks firmados
Cada entrega lleva una cabecera de firma HMAC-SHA256 para que tu receptor verifique que el POST proviene de DiffHook y no ha sido manipulado.
Reintentos integrados
Las entregas fallidas se reintentan con backoff exponencial. Un receptor inestable no te hace perder eventos.
Historial de diffs
Los cambios pasados se almacenan y se pueden reproducir. Tu script necesitaría una base de datos — DiffHook entrega el historial como parte del producto.
Renderizado JS
Páginas renderizadas en cliente, SPA y paneles funcionan de serie. Del Chromium headless nos encargamos nosotros — sin instalación de Playwright que mantener.
Acceso de equipo
Los compañeros pueden ver monitores, pausarlos e inspeccionar logs de entrega. Un script en un portátil no hace eso.
FAQ
Scripts vs monitores gestionados
¿Debería escribir mi propio script en vez de usar DiffHook?
¿Puedo mantener mi script y usar DiffHook solo para la entrega?
¿Sirve DiffHook también para monitorización de APIs JSON?
¿Cómo es el payload de webhook de DiffHook?
Relacionado
Recursos relacionados
Monitorizar sitios de la competencia
La mayoría de los scripts a medida se escriben para vigilar la página de precios o el changelog de un competidor. Aquí está el caso de uso completo.
Monitorización de endpoints API
El equivalente JSON API de esta página — cuando lo que realmente quieres vigilar es un endpoint REST.
Todas las herramientas de detección de cambios
Comparaciones lado a lado con Visualping, Distill.io, Changedetection.io y más — si prefieres elegir una herramienta gestionada sin escribir código.
Jubila el script de polling
3 monitores gratuitos, webhooks firmados con HMAC, logs de entrega reproducibles, API REST completa. Sin tarjeta de crédito.