Web scraping con n8n — guidato dal diff, webhook-first
Punta DiffHook alle pagine da raschiare, descrivi cosa estrarre con un selettore CSS, e n8n riceve il diff HTML ogni volta che si muove — già messo in cache, già deduplicato, già firmato.
Lo scraper n8n classico è un Schedule trigger + HTTP Request + HTML Extract + un po' di codice in un nodo Code che confronta con un datastore. Funziona, ma raschia a ogni tick anche quando nulla è cambiato, e la logica «è diverso rispetto all'ultima volta?» finisce per reinventare un piccolo database dentro n8n. DiffHook sposta fetch, parsing HTML e diff fuori da n8n: il flusso viene eseguito una volta per cambiamento reale — non di più.
L hub completo di n8n + DiffHook
Tutte le ricette, i template e i prezzi n8n in un unico posto.
Flusso
Raschia, diffa e consegna a n8n in 5 passi
Cinque impostazioni, nessun nodo Code, nessun marchingegno di storage. Tutto dichiarativo.
Definisci cosa raschiare
Scegli l'URL di destinazione e il selettore CSS che isola il blocco che ti interessa — una scheda prodotto, una tabella prezzi, una voce di changelog. DiffHook renderizza la pagina e tiene solo l'HTML corrispondente.
Scegli cosa conta come cambiamento
Diff solo testo per ignorare ritocchi di stile, oppure diff HTML completo per catturare ogni attributo. Imposta include_html: true quando vuoi che n8n veda il markup grezzo accanto al testo estratto.
Crea il monitor
Un POST a /v1/monitors con URL, selettore, intervallo e una consegna webhook che punta al flusso n8n. Niente cron, niente storage, niente deduplicazione — di tutto questo si occupa DiffHook.
Ricevi il diff in n8n
Il trigger Webhook di n8n parte con un body JSON firmato che contiene previous_html, current_html e il testo estratto. Verifica l'HMAC in un nodo Crypto e passa ai passi successivi.
Parsa, arricchisci, instrada
Usa i nodi HTML Extract o Code di n8n per tirare fuori campi strutturati dal diff, arricchisci con un nodo AI se serve e invia il risultato a Slack, Airtable, Notion o a un database.
Esempio API
Raschia e diffa in una sola richiesta
Definizione di monitor dichiarativa — include_html espone il markup grezzo così che n8n possa parsarlo più avanti.
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json
{
"type": "html_css",
"url": "https://competitor.example.com/products",
"css_selector": "main .product-card",
"include_html": true,
"interval_seconds": 900,
"deliveries": [
{
"type": "webhook",
"url": "https://n8n.yourdomain.com/webhook/scrape-products"
}
]
}Flusso importabile
Flusso di scraping n8n pronto all'uso
Il template parsa il diff, estrae le schede prodotto con HTML Extract e spedisce le righe strutturate a un Google Sheet. Cambia il nodo di destinazione con il tuo.
FAQ
Web scraping n8n — domande frequenti
Perché spostare lo scraping da n8n a DiffHook?
DiffHook può raschiare pagine renderizzate in JavaScript?
Come ottengo dati strutturati e non solo HTML grezzo?
Lo scraper rispetta robots.txt e i limiti di richiesta?
Cosa succede se il sito introduce un CAPTCHA o blocca lo scraper?
Flussi correlati
Perfetti anche con DiffHook
Webhook n8n
Usa lo stesso pattern di consegna webhook senza la parte di scraping HTML — cambiamento puro verso trigger.
n8n + Playwright
Raschia SPA renderizzate lato client col motore Playwright di DiffHook e spingi l'HTML post-render in n8n.
n8n + Puppeteer
Lo stesso scraping di SPA, gusto Chromium-Puppeteer — scegli il motore che meglio si adatta al sito target.
Web scraping Zapier
Stesso pattern verso Catch Hooks di Zapier — senza Code by Zapier.
Web scraping Make.com
Raschia e diffa in un modulo webhook di Make.com — forma di monitor identica, destinazione diversa.
Sostituire uno script di scraping
Stai migrando da uno scraper Python/Node? Confronta il monitor gestito fianco a fianco.
Smetti di scrapare a cron. Scrapa al cambiamento.
Piano gratuito, check ogni 60 secondi, payload firmati HMAC, motori Playwright e Puppeteer inclusi. Senza carta, senza vincoli.