Zapier+DiffHook

Web scraping Zapier — scrapa un sito, instrada in uno Zap

DiffHook si occupa di scraping e diff. Il tuo Zap riceve un webhook firmato con il testo estratto e il frammento HTML grezzo a ogni cambiamento della pagina — senza step Code, senza add-on di scraping di terze parti.

Di solito i team scrapano in Zapier con Schedule by Zapier + Webhooks GET + Code by Zapier + acrobazie di Formatter. Quello stack è fragile: Zapier tronca i body di risposta oltre i 6 MB, le regex in uno step Code invecchiano male e ogni polling brucia una task. DiffHook sposta fetch, rendering e diff fuori da Zapier — lo Zap riceve solo cambiamenti reali e campi già estratti.

Flusso

Scrapa in Zapier in 5 passi

Trigger Catch Hook standard. Niente step Code, niente app premium, niente sorprese sulla dimensione della risposta.

01

Avvia uno Zap con un Catch Hook

Scegli Webhooks by Zapier → Catch Hook. Zapier ti consegna un URL univoco — diventa la destinazione di consegna in DiffHook.

02

Descrivi lo scrape in un monitor DiffHook

Imposta type su html_css, fornisci l'URL e il selettore CSS che isola l'elemento che ti interessa. Attiva include_html: true quando lo Zap ha bisogno anche del markup grezzo oltre al testo estratto.

03

Registra il monitor con il Catch Hook

POST a /v1/monitors con la configurazione dello scrape, un intervallo e l'URL di Zapier come consegna webhook. DiffHook prende subito in carico polling, caching e rilevamento del diff.

04

Verifica e filtra dentro Zapier

Aggiungi uno step Filter che confronta l'header X-DiffHook-Signature col tuo signing secret. In opzione filtra per extracted_text o url, così uno Zap solo può coprire più monitor.

05

Mappa i campi nelle azioni successive

Zapier auto-parsa il body JSON, quindi extracted_text, previous_value, current_value e url sono disponibili come campi con nome. Usali in un messaggio Slack, in una riga Google Sheets o in un record Airtable.

Esempio API

Scrapa in uno Zap, un POST

include_html: true invia il frammento HTML grezzo accanto al testo estratto — utile quando lo Zap deve parsare una lista di item.

POST /v1/monitors
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json

{
  "type": "html_css",
  "url": "https://directory.example.com/listings",
  "css_selector": "article.listing",
  "include_html": true,
  "interval_seconds": 900,
  "deliveries": [
    {
      "type": "webhook",
      "url": "https://hooks.zapier.com/hooks/catch/000000/scrape123/"
    }
  ]
}

Flusso importabile

Copia uno Zap già pronto

Zap template con Catch Hook, Filter di verifica firma, step Formatter che ripulisce il testo e destinazione Slack. Importa, incolla le chiavi, pubblica.

FAQ

Web scraping Zapier — domande frequenti

Mi serve Code by Zapier per gestire il payload scrapato?
No. DiffHook invia un body JSON piatto con extracted_text e, se l'hai abilitato, current_html. Zapier auto-parsa il JSON, così ogni campo è disponibile come variabile con nome negli step successivi. Tieni uno step Filter per la verifica della firma e basta — lo step Code premium è opzionale.
DiffHook può scrapare pagine renderizzate in JavaScript per il mio Zap?
Sì. Imposta type su html_rendered e render.engine su playwright o puppeteer. DiffHook esegue il browser, aspetta che la pagina abbia finito di caricarsi e poi applica il tuo selettore CSS al DOM renderizzato. Lo Zap vede solo il diff post-render — il costo del rendering vive in DiffHook, non nel tuo piano Zap.
E la paginazione e l'infinite scroll?
Hai due pattern puliti. Pattern A — un monitor per ogni pagina paginata (p=1, p=2, p=3), tutti che sparano sullo stesso Catch Hook. Pattern B — attiva scroll_to_bottom su un monitor renderizzato per far caricare a Playwright la lista intera prima dello snapshot. Entrambi mantengono il body dello Zap piccolo e prevedibile.
Come evito run duplicati dello Zap quando il diff è piccolissimo?
Stringi il selettore CSS perché DiffHook osservi solo il blocco che conta (card prezzi, riga prodotto, voce changelog) invece di tutta la pagina. Per sorgenti rumorose aggiungi uno step Filter nello Zap che prosegua solo quando la lunghezza del diff supera una soglia.
C'è un limite alla dimensione del payload scrapato?
DiffHook cappa il payload HTML a 256 KB per consegna, il che copre la gran parte dei casi scrape-verso-Zap. Per pagine più grandi, tieni stretto il selettore CSS — raramente ti serve l'intero documento, basta la sezione che si muove.

Flussi correlati

Perfetti anche con DiffHook

Scrapa in Zapier senza toccare Code by Zapier

Scraper gestito, testo estratto + HTML grezzo, Catch Hooks firmati HMAC, piano gratuito. Un POST per partire.