Script per monitorare le modifiche di un sito — o salta lo script
Se stai cercando su Google 'python script monitor website' o 'node monitor webpage', sai già come funziona: fetch di una URL, hash, confronto con l'ultima esecuzione, avviso alla modifica. Questa pagina ti mostra la versione breve nei due linguaggi — e poi l'alternativa webhook gestita che sostituisce lo script in produzione.
Lo script qui sotto regge circa una settimana. Poi cambia una classe CSS, il laptop va in sospensione, il cron muore in silenzio, la webhook URL di Slack viene ruotata e nessuno si accorge che il monitor non invia più nulla. DiffHook è la versione in cui qualcun altro si occupa dell'infrastruttura, il webhook è firmato in HMAC e il log di consegna sopravvive a un riavvio del laptop.
Python
Script Python per monitorare un sito
Una dozzina di righe in Python bastano a interrogare una pagina, fare l'hash della risposta e rilevare una modifica. La parte 'e poi?' è dove gli script reali crescono — retry, deduplicazione, consegna firmata, log.
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)Per una singola pagina durante una demo funziona. Per qualsiasi cosa in produzione serviranno: timeout, header User-Agent, gestione errori, un database (o almeno un file) per tenere l'ultimo hash e un livello di consegna che non mandi in crash lo script.
Node
Oppure: fare POST di un monitor su DiffHook
L'equivalente in Node — solo che invece di mantenere il loop di polling, questo crea un monitor gestito che gira nell'infrastruttura di DiffHook e invia un webhook in caso di modifica.
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 }],
}),
})Niente cron, niente VPS, niente 'il laptop è andato in sospensione?'. Il webhook è firmato in HMAC-SHA256 e rilanciato in caso di errore. I log di consegna sono consultabili via API.
Perché sostituire lo script
Cosa ti porta davvero un monitor gestito
C'è un motivo per cui nessuno lascia uno script di polling in Python in produzione. Questi sei sono i modi di fallimento che si trasformano in reperibilità nel weekend.
Nessun fallimento silenzioso
Quando il monitor di DiffHook non riesce a recuperare una pagina, ricevi una notifica — non un cron silenzioso che sta fallendo da tre settimane.
Webhook firmati
Ogni consegna include un header di firma HMAC-SHA256 così il ricevitore può verificare che il POST arrivi da DiffHook e non sia stato manomesso.
Retry integrati
Le consegne fallite vengono riprovate con backoff esponenziale. Un ricevitore instabile non ti costa eventi.
Storico dei diff
Le modifiche passate sono archiviate e riproducibili. Il tuo script avrebbe bisogno di un database — DiffHook fornisce lo storico come parte del prodotto.
Rendering JS
Pagine renderizzate lato client, SPA e dashboard funzionano subito. Chromium headless è gestito per te — niente installazione Playwright da mantenere.
Accesso del team
I colleghi possono vedere i monitor, metterli in pausa e ispezionare i log di consegna. Uno script shell sul tuo laptop non può farlo.
FAQ
Script vs monitor gestiti
Dovrei scrivere il mio script invece di usare DiffHook?
Posso tenere il mio script e usare DiffHook solo per la consegna?
DiffHook funziona anche per il monitoraggio di API JSON?
Com'è il payload webhook di DiffHook?
Correlato
Risorse correlate
Monitorare i siti dei concorrenti
La maggior parte degli script personalizzati è scritta per osservare la pagina prezzi o il changelog di un concorrente. Qui c'è il caso d'uso completo.
Monitoraggio di endpoint API
L'equivalente JSON di questa pagina — quando ciò che vuoi osservare è un endpoint REST.
Tutti gli strumenti di rilevamento delle modifiche
Confronti affiancati con Visualping, Distill.io, Changedetection.io e altri — se vuoi scegliere uno strumento gestito senza scrivere codice.
Manda in pensione lo script di polling
3 monitor gratuiti, webhook firmati in HMAC, log di consegna riproducibili, API REST completa. Nessuna carta di credito.