Script para monitorar mudanças em sites — ou pule o script
Se você está procurando por 'python script monitor website' ou 'node monitor webpage', já conhece a receita: buscar uma URL, calcular hash, comparar com a última execução, disparar alerta na mudança. Esta página mostra a versão curta nas duas linguagens — e, em seguida, a alternativa com webhook gerenciado que substitui o script em produção.
O script abaixo aguenta uns sete dias. Depois uma classe CSS muda, o laptop entra em suspensão, o cron morre em silêncio, a URL do webhook do Slack é rotacionada e ninguém percebe que o monitor parou de disparar. O DiffHook é a versão em que outra pessoa cuida da infraestrutura, o webhook é assinado em HMAC e o log de entrega sobrevive a um reboot do laptop.
Python
Script em Python para monitorar um site
Uma dúzia de linhas de Python bastam para consultar uma página, calcular o hash da resposta e detectar mudança. O 'e agora?' é onde os scripts reais crescem — retries, deduplicação, entrega assinada, 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)Isso funciona para uma página só durante uma demo. Para qualquer coisa em produção, você vai precisar de: timeouts, header User-Agent, tratamento de erros, um banco (ou ao menos um arquivo) para guardar o último hash e uma camada de entrega que não derrube o script.
Node
Ou: envie um POST criando um monitor no DiffHook
O equivalente em Node — só que, em vez de manter o loop de polling, este código cria um monitor gerenciado que roda na infraestrutura do DiffHook e dispara um webhook na mudança.
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 }],
}),
})Sem cron, sem VPS, sem 'será que meu laptop dormiu?'. O webhook é assinado em HMAC-SHA256 e reenviado em caso de falha. Os logs de entrega podem ser consultados via API.
Por que trocar o script
O que um monitor gerenciado realmente entrega
Existe um motivo para ninguém deixar um script de polling em Python rodando em produção. Estes seis são os modos de falha que viram chamado de fim de semana.
Sem falhas silenciosas
Quando o monitor do DiffHook não consegue buscar uma página, você é avisado — em vez de um cron silencioso que vem disparando errado há três semanas.
Webhooks assinados
Toda entrega carrega um header de assinatura HMAC-SHA256 para que seu receptor verifique que o POST veio do DiffHook e não foi adulterado.
Reenvio automático
Entregas que falham são reenviadas com backoff exponencial. Um receptor instável não faz você perder eventos.
Histórico de diffs
Mudanças anteriores ficam armazenadas e podem ser reproduzidas. Seu script precisaria de um banco — o DiffHook entrega o histórico como parte do produto.
Renderização de JS
Páginas renderizadas no cliente, SPAs e dashboards funcionam de cara. O Chromium headless é gerenciado — sem Playwright para instalar e manter.
Acesso de time
Colegas conseguem ver monitores, pausá-los e inspecionar os logs de entrega. Um script de shell rodando num laptop não oferece isso.
FAQ
Scripts vs monitores gerenciados
Devo escrever meu próprio script em vez de usar o DiffHook?
Consigo manter meu script e usar o DiffHook só para entrega?
O DiffHook serve também para monitoramento de APIs JSON?
Como é o payload de webhook do DiffHook?
Relacionado
Recursos relacionados
Monitorar sites de concorrentes
A maioria dos scripts caseiros serve para acompanhar a página de preços ou o changelog de um concorrente. Aqui está o caso de uso completo.
Monitoramento de endpoints de API
O equivalente JSON desta página — quando o que você realmente quer observar é um endpoint REST.
Todas as ferramentas de detecção de mudanças
Comparações lado a lado com Visualping, Distill.io, Changedetection.io e outros — se quiser escolher uma ferramenta gerenciada sem escrever código.
Aposente o script de polling
3 monitores grátis, webhooks assinados em HMAC, logs de entrega que você pode reprocessar e API REST completa. Sem cartão de crédito.