Acompanhar o preço de um produto, juntar notícias de um tema, montar uma base de dados públicos para um estudo: há muitas razões legítimas para coletar informação de páginas web de forma automática. O problema é que a mesma técnica serve para abusos, e quem escreve o código é quem responde por ele. Este guia reúne as perguntas que você precisa fazer antes de começar.
Não é aconselhamento jurídico. Em projetos comerciais ou com dados de pessoas, converse com um advogado.
O que é web scraping
Scraping (raspagem) é usar um programa para abrir páginas, ler o conteúdo e extrair partes específicas, como preço, título ou data, em vez de copiar à mão. Em Python, isso costuma ser feito com bibliotecas para requisições (requests) e para ler o HTML (como BeautifulSoup).
Antes de qualquer código, vale entender como a web entrega os dados. Se você ainda não tem essa base, o que é API e para que serve ajuda.
Primeira pergunta: existe uma forma oficial?
Muitos serviços oferecem API: um canal feito para programas pedirem dados de forma organizada e autorizada. Quando existe, é quase sempre o melhor caminho:
- os dados vêm estruturados, sem precisar vasculhar HTML;
- o formato não quebra toda vez que o site muda o visual;
- as regras de uso estão claras;
- você não corre o risco de ser bloqueado por parecer um robô.
Outras alternativas: o site pode oferecer arquivos para download (CSV, planilhas), feeds RSS ou conjuntos de dados abertos. Órgãos públicos costumam publicar dados abertos exatamente para reuso.
Segunda pergunta: o site permite?
Duas fontes dizem as regras:
- Termos de uso: muitos sites proíbem coleta automatizada. Leia a seção correspondente. Violar termos pode levar a bloqueio e, em casos mais sérios, a ação judicial.
- Arquivo robots.txt: fica na raiz do domínio e indica áreas que robôs devem evitar e, às vezes, o intervalo entre requisições. Não é uma proteção técnica, mas é a manifestação do que o dono do site aceita. Respeitá-lo é prática básica de boa conduta.
Se os termos proíbem e não há API, a resposta ética é não coletar, ou pedir autorização ao responsável pelo site.
Terceira pergunta: que dados você vai coletar?
Aqui entram os limites legais:
- Dados pessoais: nomes, e-mails, telefones, fotos e perfis de pessoas identificáveis são protegidos pela LGPD, mesmo que estejam visíveis na internet. Ser público não significa livre para qualquer uso. Para entender melhor, leia LGPD: direitos do titular de dados.
- Conteúdo protegido por direitos autorais: textos, fotos e vídeos têm autor. Coletar para análise é diferente de copiar e republicar. Veja a lógica geral em licenças e direitos autorais em apps.
- Dados atrás de login ou paywall: acessar áreas restritas sem permissão é problemático e pode configurar acesso indevido.
- Dados de preço e catálogo públicos tendem a ser o uso mais comum e menos arriscado, desde que você respeite as outras regras.
Regra prática: colete o mínimo necessário para o seu objetivo e não guarde dados pessoais que você não precisa.
Como coletar sem prejudicar o site
Mesmo com permissão, um robô mal feito pode derrubar o servidor de outra pessoa. Boas práticas:
- Poucas requisições, com pausa entre elas. Alguns segundos entre pedidos é um começo razoável. Nunca dispare centenas em paralelo.
- Identifique-se. Configure um campo de identificação (user-agent) com o nome do projeto e um meio de contato.
- Guarde o que já coletou. Não peça a mesma página várias vezes se os dados não mudam.
- Respeite limites e erros. Se o site responder com códigos de bloqueio ou pedir para reduzir o ritmo, pare e reduza.
- Colete fora do horário de pico, quando possível.
- Não contorne bloqueios. Usar técnicas para fugir de proteções do site muda a natureza do que você está fazendo e pode ser ilegal.
Armadilhas técnicas comuns
- Páginas que carregam dados com JavaScript: o HTML baixado vem vazio. Muitas vezes os dados vêm de uma API interna que o site usa, mas a utilização dela também segue os termos do site.
- Mudança de layout: qualquer ajuste visual pode quebrar seu código. Prepare-se para manutenção.
- Dados sujos: textos com espaços extras, preços com símbolos e datas em formatos diferentes pedem limpeza.
- Erros de conexão: trate falhas com novas tentativas espaçadas, não com repetição imediata.
E o scraping com IA?
Ferramentas de IA podem ajudar a escrever o código de coleta, mas elas não decidem se a coleta é permitida. Essa responsabilidade é sua. Ao colar páginas inteiras numa IA, cuide também de não enviar dados pessoais (veja privacidade nas conversas com IA).
Alternativas que evitam o problema
Muitas vezes é possível chegar ao mesmo resultado sem raspar páginas:
- Dados abertos: órgãos públicos e instituições publicam bases para download, em CSV ou JSON.
- Parcerias e contato direto: pedir os dados ao responsável pelo site costuma funcionar mais do que se imagina, principalmente em projetos acadêmicos ou sem fins lucrativos.
- Alertas e feeds: para acompanhar novidades, feeds RSS e newsletters entregam o conteúdo de forma autorizada.
- Serviços especializados: empresas que já coletam e licenciam dados, com contrato claro.
Se mesmo assim for necessário fazer a coleta, registre a data, a fonte e as regras que você verificou. Esse registro ajuda a demonstrar boa-fé e a repetir o processo com segurança no futuro.
Checklist antes de rodar
- Existe API ou arquivo de dados abertos?
- Li os termos de uso e o robots.txt?
- Os dados são públicos e não pessoais?
- Meu ritmo é lento e tem pausas?
- Sei o que vou fazer com os dados e por quanto tempo vou guardá-los?
Se alguma resposta incomodar, pare e reveja o plano. Para estudo e projetos pessoais com dados abertos, o scraping responsável é uma ótima forma de praticar. Para fins comerciais, valide as regras antes de investir tempo no código.