Newsletter

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.

Web scraping com n8n: o que dá para fazer e onde estão os limites

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ícias

Antes 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.

Ilustração de um avanço interrompido por uma barreira

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?