Make+DiffHook

Web scraping Make.com — webhook-first, sem módulo de polling

O DiffHook cuida do scraping, do renderizado e do diff. Seu cenário no Make parte de um módulo Webhook e recebe um payload assinado toda vez que a página se move — nunca num polling vazio.

O scraper típico no Make.com encadeia o módulo HTTP → Get a file com um Text parser, depois um Data store com uma conferência de «mudou?» e finalmente os módulos a jusante. Cada execução gasta operations tenha havido mudança ou não. O DiffHook deixa você virar o cenário para um gatilho Webhook — o Make só consome operations quando há uma mudança real para processar.

Fluxo

Raspe para dentro do Make.com em 5 passos

Gatilho Webhook, não scheduler. O contador de operations do Make bate com eventos reais, não com pollings vazios.

01

Crie um gatilho Webhooks → Custom webhook

No Make.com comece um cenário com o módulo Custom webhook. O Make gera uma URL única tipo https://hook.eu2.make.com/XXX — copie-a; vai na entrega do DiffHook.

02

Descreva o scrape como monitor DiffHook

Defina type como html_css e passe URL e o seletor CSS que destaca o bloco que interessa. Ligue include_html: true quando o cenário precisar parsear markup cru mais adiante.

03

Registre o monitor com o webhook do Make

Um único POST em /v1/monitors com a config do scrape, um intervalo e a URL do Make como entrega webhook. O DiffHook assume polling, cache e diff a partir desse ponto.

04

Verifique a assinatura dentro do Make

Adicione um módulo Tools → Set variable que lê o header X-DiffHook-Signature, e depois um Router com um Filter que só deixa passar as requisições cujo HMAC recalculado bate. A função cripto interna do Make resolve SHA-256 sem módulo Code.

05

Mapeie campos nos módulos a jusante

Os campos top-level do corpo do webhook — extracted_text, current_value, previous_value, url — aparecem como itens nomeados que você solta em qualquer módulo seguinte: Google Sheets, Notion, Airtable, Telegram.

Exemplo de API

Raspe para o Make num POST

A URL do webhook do Make vai direto em deliveries[0].url. O DiffHook cuida de retry, backoff e replay de fábrica.

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

{
  "type": "html_css",
  "url": "https://competitor.example.com/store",
  "css_selector": ".product-grid",
  "include_html": true,
  "interval_seconds": 900,
  "deliveries": [
    {
      "type": "webhook",
      "url": "https://hook.eu2.make.com/abc123456789"
    }
  ]
}

Fluxo importável

Copie um cenário Make pronto

Blueprint com gatilho Custom webhook, verificação HMAC, Router com filtro de tamanho e destino Google Sheets. Importe, cole o signing secret, ative.

Perguntas frequentes

Web scraping Make.com — perguntas comuns

Por que usar DiffHook em vez de HTTP + scheduler do Make.com?
O Make cobra por operations. Um cenário que sonda uma URL a cada cinco minutos consome operations tenha havido mudança ou não — e você ainda precisa manter o Data store e a comparação «mudou?» na mão. O DiffHook troca tudo isso por um gatilho webhook que só dispara em mudanças reais, então o contador de operations do cenário bate com o número de eventos reais.
O DiffHook consegue raspar páginas renderizadas em JavaScript para o Make?
Sim. Troque type para html_rendered e render.engine para playwright ou puppeteer. O DiffHook cuida da run do navegador headless e espera a página se estabilizar antes do snapshot. O Make recebe o diff pós-render — o custo do render mora no DiffHook, não no seu plano Make.
Preciso de um módulo Code para verificar o webhook?
Não. As funções internas do Make incluem sha256HMAC, suficiente para recalcular a assinatura num módulo Set variable e compará-la num Filter. O blueprint Make no GitHub mostra a configuração exata e funciona em todo plano Make.com.
Como é o formato dos dados?
JSON plano, amigo do Make. Chaves de topo: monitor_id, event, url, selector, extracted_text, current_value, previous_value, current_html (quando include_html está ativo), detected_at, delivery_id. O Make expõe cada chave como campo nomeado automaticamente — sem módulo JSON parser.
Um único cenário consegue tratar várias páginas raspadas?
Sim. Aponte vários monitores DiffHook para a mesma URL de webhook do Make e use um Router com filtros por monitor_id ou url para separar o cenário por origem. Assim o custo em operations fica em uma por evento real, não importa quantos monitores alimentem.

Fluxos relacionados

Também ótimos com o DiffHook

Pare de pagar operations em pollings vazios

Scraping webhook-first para o Make, payloads assinados com HMAC, plano gratuito. Cada operation do Make bate com uma mudança real.