Web scraping com n8n — guiado pelo diff, webhook-first
Aponte o DiffHook para as páginas que quer raspar, descreva o que extrair com um seletor CSS, e o n8n recebe o diff HTML a cada movimento — já cacheado, já deduplicado, já assinado.
O scraper típico em n8n é um Schedule trigger + HTTP Request + HTML Extract + um nó Code que compara contra um datastore. Funciona, mas raspa a cada tick mesmo quando nada mudou, e a lógica de «isso é diferente da última vez?» acaba reinventando um pequeno banco de dados dentro do n8n. O DiffHook tira fetch, parsing HTML e diff de dentro do n8n — o fluxo roda uma vez por mudança real, nada mais.
O hub completo de n8n + DiffHook
Todas as receitas, templates e planos de n8n em um só lugar.
Fluxo
Raspe, diferencie e entregue ao n8n em 5 passos
Cinco ajustes, nenhum nó Code, nenhuma amarração de storage. Tudo declarativo.
Defina o que raspar
Escolha a URL alvo e o seletor CSS que isola o bloco que importa — um cartão de produto, uma tabela de preços, uma entrada de changelog. O DiffHook renderiza a página e guarda só o HTML correspondente.
Escolha o que conta como mudança
Diff só de texto para ignorar ajustes de estilo, ou diff HTML completo para pegar cada atributo. Ligue include_html: true quando quiser que o n8n veja o markup cru junto com o texto extraído.
Crie o monitor
Um único POST em /v1/monitors com URL, seletor, intervalo e uma entrega do tipo webhook apontando para o seu fluxo n8n. Sem cron, sem storage, sem deduplicação — isso tudo é com o DiffHook.
Receba o diff no n8n
O trigger Webhook do n8n dispara com um corpo JSON assinado contendo previous_html, current_html e o texto extraído. Verifique o HMAC num nó Crypto e siga para os passos seguintes.
Parseie, enriqueça, roteie
Use os nós HTML Extract ou Code do n8n para extrair campos estruturados do diff, enriqueça com um nó de IA se precisar, e envie o resultado para Slack, Airtable, Notion ou um banco de dados.
Exemplo de API
Raspe e diferencie em uma só requisição
Definição de monitor declarativa — include_html expõe o markup cru para que o n8n consiga parsear mais à frente.
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"
}
]
}Fluxo importável
Um fluxo de scraping n8n pronto para uso
O template parseia o diff, extrai os cards de produto com HTML Extract e envia as linhas estruturadas para um Google Sheet. Troque o nó de destino pelo seu.
Perguntas frequentes
Web scraping n8n — perguntas comuns
Por que tirar o scraping do n8n e passar para o DiffHook?
O DiffHook raspa páginas renderizadas em JavaScript?
Como obtenho dados estruturados, não só HTML cru?
O scraper respeita robots.txt e limites de requisição?
E se o site colocar CAPTCHA ou bloquear o scraper?
Fluxos relacionados
Também ótimos com o DiffHook
Webhook n8n
Use o mesmo padrão de entrega webhook sem a parte de raspagem HTML — mudança pura para trigger.
n8n + Playwright
Raspe SPAs renderizadas no cliente com o motor Playwright do DiffHook e empurre o HTML pós-render ao n8n.
n8n + Puppeteer
Mesma raspagem de SPA, sabor Chromium-Puppeteer — escolha o motor que melhor combina com o site alvo.
Web scraping Zapier
Rode o mesmo padrão em Catch Hooks do Zapier — sem precisar de Code by Zapier.
Web scraping Make.com
Raspe e diferencie num módulo webhook do Make.com — forma de monitor idêntica, destino diferente.
Substituir um script de scraping
Migrando de um scraper em Python/Node? Compare com o monitor gerenciado lado a lado.
Pare de raspar por cron. Raspe na mudança.
Plano gratuito, checagens a cada 60 segundos, payloads assinados com HMAC, motores Playwright e Puppeteer inclusos. Sem cartão, sem compromisso.