A internet é, em essência, um gigantesco banco de dados, só que organizado de um jeito muito pouco prático. Os preços se misturam com imagens e botões, as estatísticas se escondem em tabelas e os anúncios se espalham por centenas de páginas. «Coletar dados de um site» significa transformar esse mingau visual em uma tabela ou um arquivo limpo com o qual dê para trabalhar: calcular, comparar, montar gráficos.
Este artigo é um mapa do terreno. Ele explica que tipos de dados existem, com que métodos eles são extraídos (da cópia manual aos programas-robôs), por onde passam as fronteiras legais e éticas, e percorre cenários concretos para diferentes tipos de dados. Os dados pessoais ficam de fora; do porquê falaremos à parte.
Parte 1. Primeiro, um pouco de teoria — mas sem enrolação
Como um site funciona por dentro
Ao abrir uma página, o navegador recebe um arquivo de texto na linguagem HTML: uma marcação, um conjunto de «caixinhas» aninhadas com etiquetas. O título está na caixinha marcada como «título», o preço na caixinha «preço», e assim por diante. O que você vê é uma página bonita, mas por baixo há texto estruturado.
A coleta de dados (em inglês, web scraping, literalmente «raspagem»; às vezes você verá o decalque «raspagem de dados» ou «raspagem web») é justamente esse processo: um programa lê esse texto, localiza as caixinhas necessárias e extrai o seu conteúdo. A grande revelação para quem está começando: o que aparece na tela quase sempre está disponível como texto; basta chegar até ele.
Dois mundos: HTML e API
Há duas maneiras radicalmente distintas de um site entregar seus dados.
Pela página HTML. Os dados vão «incrustados» na mesma página que uma pessoa vê. Para extraí-los é preciso analisar (fazer o parsing de) o HTML, procurando aquelas caixinhas. Funciona quase sempre, mas é o caminho mais frágil: se o designer mudar o layout, o seu coletor quebra.
Por uma API. Muitos sites têm uma «entrada de serviço»: uma interface de programação (Application Programming Interface) pensada especificamente para as máquinas. Envia-se uma requisição do tipo «me dê o tempo em São Paulo» e recebem-se dados limpos em um formato organizado (normalmente JSON, um texto de pares «chave: valor»). É o método mais confiável e mais educado quando está disponível. Meteorologia, taxas de câmbio, mapas, finanças, estatísticas: tudo isso, via de regra, tem API.
Regra de ouro: procure primeiro a API e, só se ela não existir, faça o parsing do HTML.
Dados estruturados e não estruturados
- Estruturados: já vêm organizados em prateleiras: tabelas, listas de preços, catálogos. São os mais fáceis de coletar.
- Não estruturados: texto corrido: artigos, avaliações, publicações. Coletar o texto em si não é difícil, mas para extrair dele o significado (o tom de uma avaliação, as empresas mencionadas) é necessário um processamento adicional, muitas vezes com ajuda da IA.
Parte 2. O marco legal e ético
Não é uma formalidade que se possa pular. Desconhecer os limites é a forma mais comum de arrumar problemas.
O arquivo robots.txt. Quase todo site tem, no endereço site.com/robots.txt, um arquivo de texto em que o proprietário indica que seções ele pede que os robôs não toquem. Não é uma lei, e sim umas «normas de cortesia», mas ignorá-las é falta de educação e, às vezes, motivo de bloqueio.
Os termos de uso (Terms of Service). Muitos sites proíbem expressamente a coleta automatizada em seu acordo de usuário. Descumpri-lo já é uma questão de relações contratuais, e as grandes plataformas (marketplaces, redes sociais) chegam aos tribunais por isso.
A carga sobre o servidor. Se o seu robô envia milhares de requisições por segundo, na prática você está montando um mini-DDoS contra o site. Coletar com cortesia significa fazer pausas entre as requisições e trabalhar em horários de baixo movimento.
Os direitos autorais. Os fatos em si (o preço de um produto, a temperatura do ar) não são protegidos por direitos autorais. Já os textos dos artigos, as fotografias e as avaliações, sim. Coletar para analisar é uma coisa; republicar no seu próprio site, outra bem diferente.
Os dados pessoais: a zona à parte e mais perigosa. Nomes, telefones, endereços, rostos nas fotos, correspondência: tudo isso é regulado pelas leis de proteção de dados (a LGPD no Brasil, o RGPD na Europa e normas análogas em outros países). Coletar dados pessoais sem uma base legal pode terminar em multas pesadas e responsabilidade penal. Por isso, neste artigo falamos deliberadamente só de dados anonimizados, em geral públicos e factuais: preços, meteorologia, estatísticas, sortimento, manchetes de notícias e afins.
Um critério de bom senso: estou coletando fatos de acesso público para analisá-los, sem sobrecarregar o servidor e sem me apropriar de conteúdo alheio? Se a resposta for sim, o mais provável é que você esteja em zona segura. Se a questão envolver dados pessoais ou revenda de conteúdo alheio, pare e consulte um especialista.
Parte 3. As ferramentas: da mais simples à mais potente
Os métodos para coletar dados formam todo um espectro. A escolha depende de quantos dados você precisa, com que frequência e de se está disposto a programar.
Nível 0. Cópia manual
Soa primitivo, mas, se você precisa de 20 linhas uma única vez, selecione a tabela com o cursor e cole no Excel. Não mate mosca com canhão. A automação compensa quando os dados são muitos ou precisam ser coletados com regularidade.
Nível 1. Funções dentro da planilha
O Google Sheets sabe trazer dados de sites com funções integradas, sem uma linha de código:
=IMPORTHTML("url"; "table"; 1)— extrai a primeira tabela da página (funciona às mil maravilhas, por exemplo, com as tabelas da Wikipédia).=IMPORTXML("url"; "consulta")— obtém elementos específicos pelo seu caminho dentro da página.=IMPORTDATA("url")— carrega um arquivo de dados já pronto (CSV).
É a largada ideal para quem não programa: tudo acontece em uma planilha familiar, e os dados podem se atualizar sozinhos.
Nível 2. Extensões do navegador
Plugins gratuitos que transformam a coleta em um «aponte o que recolher»:
- Web Scraper (extensão para Chrome) — clique nos elementos diretamente na página, explique ao robô «isto é o nome, isto é o preço», e ele percorrerá todas as páginas por conta própria.
- Instant Data Scraper — encontra automaticamente as tabelas e listas da página e propõe baixá-las com um único botão. Rapidíssimo para os casos simples.
Servem quando o site é simples e a coleta não é regular.
Nível 3. Plataformas no-code (sem código, mas com mais músculo)
Serviços completos com interface visual, pensados para volumes sérios:
- Octoparse, ParseHub — configure a coleta com alguns cliques, e a plataforma cuida sozinha dos sites complexos, da paginação e da execução agendada.
- Apify — um marketplace de coletores já prontos para os sites populares: muitas vezes o que você precisa já está escrito e só falta executar.
- Bright Data, Octoparse Cloud — soluções na nuvem de escala industrial, incluindo o contorno de bloqueios (falamos disso mais abaixo). Isso já é terreno pago, voltado a empresas.
A favor: não é preciso programar. Contra: a comodidade e a escala se pagam com dinheiro, e a flexibilidade continua menor que a do código próprio.
Nível 4. Programação (flexibilidade máxima)
Quando é necessário controle total, escreve-se código. A linguagem mais popular para isso é Python, em boa parte graças às suas práticas bibliotecas de coleta de dados. As ferramentas principais:
- requests — o «baixador» de páginas: pede o HTML ao site e o recebe.
- BeautifulSoup — o «desmontador»: encontra no HTML recebido as caixinhas necessárias. A dupla
requests+BeautifulSoupé o kit clássico do iniciante. - Scrapy — todo um framework para projetos sérios: segue os links por conta própria, percorre milhares de páginas e salva o resultado em arquivos. Para tarefas grandes.
- Selenium e Playwright — comandam um navegador de verdade como um robô humano: apertam botões, fazem scroll, preenchem campos. Necessários para os sites «cheios de manha» (veja mais abaixo a parte de JavaScript).
- pandas — não serve para coletar, e sim para processar: transforma o que foi coletado em uma tabela, limpa e faz os cálculos.
Não é obrigatório escrever o código à mão: os assistentes de IA atuais geram esses scripts a partir de uma descrição textual da tarefa. A barreira de entrada despencou nos últimos anos.
O nível «sem coletar nada»: dados já prontos
Antes de scrapear qualquer coisa, verifique se alguém já não coletou tudo:
- Conjuntos de dados abertos — Kaggle, os portais de dados abertos dos governos (dados.gov.br, data.europa.eu), os institutos de estatística.
- Feeds RSS — muitos veículos e blogs continuam oferecendo seus conteúdos recentes como um feed legível por máquinas. Simples e legal.
- APIs oficiais — repetimos mais uma vez: se existir, é a melhor opção.
Parte 4. As principais dificuldades e como contorná-las
Sites construídos com JavaScript
Muitos sites modernos entregam primeiro uma página quase vazia e depois «pintam» o conteúdo com scripts já no navegador. Um simples requests verá o vazio. A solução são as ferramentas que abrem um navegador real (Selenium, Playwright) e esperam tudo carregar. É mais lento, mas enxerga tudo o que uma pessoa enxerga.
Paginação e listagens
Os dados raramente cabem em uma única página: o habitual é um «1, 2, 3 ... 500» no rodapé ou um scroll infinito. É preciso ensinar o coletor a passar de página ou a rolar para baixo até esgotar os registros.
Proteção contra robôs
Os sites não gostam de ser scrapeados de forma intensiva e levantam barreiras: CAPTCHA («prove que é humano»), bloqueio por endereço IP diante de requisições frequentes, obrigação de fazer login. Contornam-se com pausas entre as requisições, rotação de endereços (servidores proxy) e camuflagem de navegador comum. Aqui convém lembrar: quanto mais agressivo o contorno da proteção, mais perto você está de infringir as condições do site. É uma zona cinzenta em que é fácil passar da linha.
Limpeza de dados
O que se coleta quase nunca chega perfeito: espaços a mais, a moeda misturada com os números («R$ 1.990» em vez de 1990), duplicidades, lacunas. O processamento e a limpeza costumam ser uma parte do trabalho não menor que a própria coleta.
Parte 5. Cenários para diferentes tipos de dados
Agora, o mais prático. Vejamos como encarar tipos de dados concretos.
Preços e produtos (monitoramento de preços, sortimento)
Para quê: vigiar os preços da concorrência, caçar descontos, analisar o mercado, comparar ofertas.
Particularidades: os marketplaces são os sites mais protegidos da internet e, em geral, proíbem expressamente o scraping em suas normas. Os dados são carregados com scripts, os preços mudam e há sistemas anti-bots sérios no meio do caminho.
Como encarar: para uma tarefa pontual, extensões do navegador. Para um monitoramento regular, plataformas no-code (na Apify costuma haver coletores prontos para as grandes lojas) ou código próprio com automação de navegador. Muitas grandes plataformas oferecem APIs de afiliados ou de produto: esse é o caminho legal. Redobre o cuidado com as normas de cada plataforma: por scraping, bloqueiam contas e movem processos.
Notícias e artigos (textos, manchetes)
Para quê: monitoramento de menções a uma marca ou a um tema, coleta de materiais para análise, acompanhamento do noticiário.
Como encarar: em primeiro lugar, os feeds RSS: é legal e simples. Se não houver feed, ajudam as APIs de notícias já prontas (NewsAPI, GDELT e afins). Para sites avulsos, a dupla requests + BeautifulSoup. Lembre-se dos direitos autorais: coletar para analisar, sim; republicar textos alheios, não.
Tabelas e estatísticas (Wikipédia, dados públicos, anuários)
Para quê: população das cidades, estatística esportiva, séries históricas, dados científicos.
Como encarar: é o gênero mais fácil. Uma tabela da Wikipédia se extrai em um minuto com uma única função IMPORTHTML no Google Sheets. Em Python, a biblioteca pandas sabe ler todas as tabelas de uma página com um único comando (read_html). E confira também os portais de dados abertos: muita coisa já está publicada lá como arquivo pronto.
Anúncios classificados (imóveis, automóveis, vagas de emprego)
Para quê: análise do mercado de aluguel, salários médios por profissão, evolução dos preços dos automóveis.
Particularidades: há milhares de anúncios desse tipo, espalhados por uma infinidade de páginas, e os portais costumam se proteger. Importante: os anúncios contêm com frequência dados pessoais (os contatos do vendedor); eles não devem ser coletados e, muitas vezes, isso é ilegal. Pegue só o anonimizado: preço, metragem, região, características.
Como encarar: plataformas no-code com paginação, ou Scrapy para grandes volumes. Muitos portais têm API para parceiros.
Avaliações e notas
Para quê: entender o que elogiam e o que criticam em um produto, comparar reputações, encontrar os pontos de dor.
Particularidades: coletar o texto da avaliação é o de menos; o valor está na análise. A abordagem moderna: coletar as avaliações e depois passá-las por um modelo de IA que determine o tom (positivo/negativo) e extraia os temas. Os nomes dos autores não se coletam: só o texto, a nota e a data.
Finanças (cotações, taxas de câmbio, cripto)
Para quê: análise de mercado, acompanhamento da carteira, dados históricos para backtesting.
Como encarar: aqui quase sempre há API, e muitas vezes gratuita ou semigratuita: Yahoo Finance, Alpha Vantage, as APIs das bolsas, as dos bancos centrais para as taxas de câmbio (o Banco Central do Brasil publica as cotações oficiais de referência, como a PTAX do dólar). Fazer parsing de HTML aqui quase nunca é necessário: são dados financeiros e são entregues às máquinas limpos, de propósito.
Meteorologia e dados científicos ou ambientais
Para quê: previsões, observações históricas, análise climática, cruzamento com outros dados.
Como encarar: exclusivamente via API (OpenWeatherMap, Open-Meteo, os serviços das agências meteorológicas). Scrapear sites de previsão do tempo não faz sentido: a API é mais prática e confiável. Muitas são gratuitas para um uso moderado.
Imagens e conteúdo multimídia
Para quê: datasets para treinar IA, coleções para análise, arquivamento.
Particularidades: tecnicamente, coletar imagens é fácil (os endereços delas estão no HTML). Juridicamente, é a zona mais escorregadia: as fotografias são protegidas por direitos autorais e, se houver pessoas, somam-se os dados pessoais. O seguro é trabalhar com datasets específicos com licenças abertas (Unsplash, Wikimedia Commons, coleções com permissão de uso explícita).
Mapas e dados geográficos
Para quê: pontos no mapa (cafeterias, postos de combustível), rotas, coordenadas, áreas de regiões.
Como encarar: pelas APIs dos serviços cartográficos (o OpenStreetMap é totalmente aberto e gratuito; existem APIs pagas das grandes plataformas de mapas). Além disso, o OpenStreetMap é, em si, uma enorme base de geodados aberta que pode ser baixada por regiões inteiras.
Dados esportivos
Para quê: estatísticas das partidas, resultados, escalações, histórico de desempenho.
Como encarar: existem APIs esportivas especializadas (algumas gratuitas para os dados básicos). As tabelas de resultados também saem sem esforço da Wikipédia e dos sites de referência com IMPORTHTML ou pandas.
Redes sociais (métricas públicas, não pessoais)
Para quê: análise de tendências, popularidade das hashtags, menções a um tema.
Particularidades: a categoria mais delicada depois dos dados pessoais diretos. As redes sociais são duramente protegidas no plano técnico e no jurídico, suas normas proíbem o scraping quase sempre, e a maioria dos dados que elas contêm é pessoal. O único caminho seguro são as APIs oficiais das plataformas, e unicamente indicadores agregados e anonimizados (quantas publicações existem sobre um tema, o tom geral), sem coletar perfis de pessoas específicas.
Parte 6. Como escolher a abordagem: guia rápido
Percorra as perguntas de cima para baixo e pare no primeiro «sim»:
- E se os dados já estiverem coletados? → Confira o Kaggle, os portais de dados abertos, o RSS.
- O site tem uma API oficial? → Use-a. É a melhor opção.
- Precisa de pouca coisa, uma única vez? → Copie à mão ou com uma extensão do navegador.
- É uma tabela? →
IMPORTHTMLno Google Sheets oupandasem Python. - Coleta regular, mas sem vontade de programar? → Uma plataforma no-code (Octoparse, ParseHub, Apify).
- Precisa de controle total ou a tarefa é atípica? → Python:
requests+BeautifulSoup; para os sites complexos, Playwright/Selenium; para a escala, Scrapy.
E, a cada passo, tenha presentes os três limites: o robots.txt e as normas do site, a carga sobre o servidor e, terminantemente, nada de dados pessoais.
Conclusão
A coleta de dados de sites é um espectro, não uma tecnologia única. Em um extremo, selecionar uma tabela com o cursor e colá-la no Excel; no outro, um framework que percorre milhares de páginas conforme um calendário. No meio, as funções das planilhas, as extensões do navegador, as plataformas no-code e as bibliotecas de programação. A ferramenta certa é determinada pelo volume, pela regularidade e pela sua disposição de programar (que, graças aos assistentes de IA, hoje já não é uma barreira tão alta).
O essencial a levar consigo: procure primeiro dados já prontos e APIs, faça o parsing do HTML só quando não houver outro jeito, respeite as normas e os servidores dos sites e mantenha distância dos dados pessoais. Tecnicamente dá para coletar quase qualquer coisa, mas o bom trabalho com dados não começa pela pergunta «como extraio isso», e sim por «tenho o direito e vale a pena?».