Web scraping com n8n: o que dá para fazer e onde estão os limites
Como raspar páginas com HTTP Request e extração de HTML, as três situações em que falha e o que checar antes de começar.
Resumo por IA
Resumo gerado por IA, revisado pela redação.

Dá para fazer raspagem de sites com n8n usando o node HTTP Request para buscar a página e o node de extração de HTML para pegar os pedaços que interessam. Funciona bem em páginas simples e falha em três situações previsíveis: conteúdo montado por JavaScript, proteção anti-robô e mudança de layout. Antes disso tudo, porém, vem a pergunta que muita gente pula — se você pode raspar aquele site.
Adicione ao Google NotíciasAntes da técnica: o que checar
Raspagem tem limites legais e contratuais, e ignorá-los pode custar caro:
Os termos de uso do site. Muitos proíbem coleta automatizada explicitamente. É contrato, não sugestão.
O arquivo
robots.txt. Indica o que o site pede para não ser acessado por robôs.Dado pessoal. Coletar informação de pessoas identificáveis entra na legislação de proteção de dados, mesmo que a informação esteja pública. Estar visível não significa estar liberada para uso.
Existe API? Se existir, use. É mais estável, mais rápido e não quebra a cada mudança de layout.
A pergunta prática que resolve a maioria dos casos: o dono do site ficaria incomodado se soubesse? Coletar preço público de produto para comparação é uma coisa. Extrair a base de contatos de um diretório é outra bem diferente, com consequências jurídicas reais.
Como funciona no n8n
O processo tem três etapas:
1. Buscar a página. Um node HTTP Request com método GET apontando para o endereço. A resposta vem como texto — o código HTML da página.
2. Extrair o que interessa. O node de extração de HTML permite indicar o trecho desejado por seletor, o mesmo tipo de endereço que se usa para estilizar páginas: .preco pega elementos com essa classe, h1 pega o título principal.
3. Limpar. O que vem quase nunca está pronto: sobram espaços, quebras de linha, símbolo de moeda. Aqui entram as funções de texto — remover espaços das pontas, tirar tudo que não é número, converter para número de verdade.
Onde falha
1. Conteúdo montado por JavaScript
Esta é a limitação mais importante. O node busca o HTML que o servidor entrega — e não executa JavaScript. Em sites modernos, boa parte do conteúdo só aparece depois que o navegador roda o código da página.
Como reconhecer: a requisição volta com sucesso, mas o conteúdo que você vê no navegador não está no resultado. Não é erro de seletor; o dado não veio.
O que fazer: procurar a requisição que a própria página faz para buscar os dados — quase sempre existe uma API por trás — e chamar essa API diretamente. É mais estável que raspar, além de mais rápido.
2. Proteção anti-robô
Muitos sites detectam acesso automatizado e respondem com bloqueio, desafio visual ou uma página diferente da real. Alguns detectam pelo identificador do navegador, outros pelo endereço de origem, outros pelo ritmo das requisições.
Vale entender o recado: proteção anti-robô é o site dizendo que não quer ser raspado. Insistir com técnicas de disfarce muda a natureza do que você está fazendo — deixa de ser coleta de dado público e vira contorno deliberado de uma medida de proteção.
3. Mudança de layout
O motivo pelo qual raspagem dá manutenção para sempre. O site muda uma classe e seu fluxo para de funcionar — normalmente sem erro, apenas devolvendo vazio.
A defesa: validar o resultado. Se o campo veio vazio ou fora do formato esperado, o fluxo deve avisar. Sem isso, você descobre semanas depois que a planilha está sendo preenchida com nada.

Boas práticas
Espace as requisições. Um pedido por segundo é educado; cem por segundo é ataque.
Identifique-se. Enviar um identificador honesto é mais respeitoso que se disfarçar de navegador.
Guarde o resultado. Não busque a mesma página várias vezes por dia se ela muda uma vez por semana.
Valide sempre. Campo vazio deve gerar aviso, não linha em branco.
Trate a falha como normal. Raspagem falha. O fluxo precisa lidar com isso sem quebrar.
A alternativa que quase sempre existe
Antes de investir tempo em raspagem, vale procurar três coisas: uma API pública do site, um feed de conteúdo, ou uma exportação disponível no próprio serviço.
Quando qualquer uma existe, ela vence a raspagem em todos os quesitos — estabilidade, velocidade, ausência de manutenção e ausência de conflito com os termos de uso. Raspagem é o último recurso, não o primeiro.
Buscar com HTTP Request, extrair com seletor, limpar com funções de texto. Mas antes: confira se pode, e procure uma API — que costuma existir e resolve melhor.
Perguntas frequentes
Dá para fazer web scraping com n8n?
Dá, combinando o node HTTP Request para buscar a página e o node de extração de HTML para pegar os trechos desejados por seletor. Funciona bem em páginas cujo conteúdo vem pronto do servidor.
Por que o conteúdo que vejo no navegador não aparece na raspagem?
Porque ele é montado por JavaScript no navegador, e o node busca apenas o HTML entregue pelo servidor, sem executar código. A saída costuma ser encontrar a requisição que a própria página faz para carregar os dados e chamar essa origem diretamente.
Web scraping é legal?
Depende do site e do dado. É preciso observar os termos de uso, que frequentemente proíbem coleta automatizada, o arquivo que indica o que os robôs não devem acessar, e a legislação de proteção de dados quando houver informação pessoal envolvida — estar público não significa estar liberado.
Por que meu fluxo de raspagem parou de funcionar?
Quase sempre porque o site mudou o layout e o seletor deixou de encontrar o elemento. O sintoma é traiçoeiro: normalmente não há erro, apenas resultado vazio. Por isso vale validar o retorno e disparar aviso quando vier fora do esperado.
Como evitar ser bloqueado ao raspar?
Espaçando as requisições, guardando o resultado para não repetir buscas desnecessárias e respeitando o que o site sinaliza. Quando existe proteção anti-robô ativa, o recado é que aquele site não quer ser raspado — e contornar isso deliberadamente muda a natureza do que está sendo feito.
Este tutorial faz parte do guia Curso de n8n do zero ao avançado: o guia completo em português. Veja também: Node, trigger e workflow: o vocabulário do n8n em 10 minutos · A estrutura de dados do n8n: por que tudo é um array com json · Item linking no n8n: como ele decide qual item vai pra saída · Execuções passo a passo: como achar onde o fluxo do n8n quebrou · A Canvas UI do n8n 2.0: o que mudou e como se orientar · n8n Cloud ou self-hosted: a decisão que define seu custo e sua liberdade
Este tutorial faz parte do guia Curso de n8n do zero ao avançado: o guia completo em português. Veja também: Node, trigger e workflow: o vocabulário do n8n em 10 minutos · A estrutura de dados do n8n: por que tudo é um array com json · Item linking no n8n: como ele decide qual item vai pra saída · Execuções passo a passo: como achar onde o fluxo do n8n quebrou · A Canvas UI do n8n 2.0: o que mudou e como se orientar · n8n Cloud ou self-hosted: a decisão que define seu custo e sua liberdade



