A nossa posição, declarada: somos a Geonode e vendemos proxies, que é o produto que a maioria dos artigos sobre este assunto visa vender. Numa classificação honesta, os proxies ficariam em sexto lugar, e as cinco coisas acima deles são gratuitas. O controlo do ritmo, a identificação, o armazenamento em cache, o cumprimento de Retry-After e a leitura de robots.txt evitarão mais bloqueios do que qualquer quantidade de rotação de endereços, porque abordam a verdadeira razão pela qual os sites bloqueiam os rastreadores — a carga e a imprevisibilidade — em vez do sintoma. Os proxies ajudam genuinamente com um problema específico, abordado mais adiante. Se recorrer a eles em primeiro lugar, gastará dinheiro e continuará a ser bloqueado.
Por que é que os rastreadores acabam por ser bloqueados
Quatro causas, por ordem decrescente de frequência.
Frequência. Fez demasiados pedidos demasiado depressa. Esta é, de longe, a causa mais comum e está inteiramente sob o seu controlo. Um site não sabe nem se importa com quem você é quando decide que trinta pedidos por segundo a partir de um único endereço constituem um problema.
Imprevisibilidade. Picos de tráfego, novas tentativas após erros, rastreamento repetido das mesmas páginas, seguimento de espaços infinitos de URLs. Uma carga que um site não consegue prever é pior do que uma carga que consegue prever.
Anonimato. Um cliente não identificado que gera tráfego inexplicável é um problema a ser travado. Um cliente identificado é uma decisão a tomar e, frequentemente, a decisão é permitir o tráfego.
Sinais de identidade. Tipo de endereço, impressão digital TLS, composição do cabeçalho. Reais, e em último lugar nesta lista porque só importam principalmente quando um site já decidiu que não quer automação não identificada — e porque são os mais difíceis de alterar de forma honesta.
Repare que três dos quatro pontos dizem respeito ao comportamento. O foco da indústria no quarto ponto deve-se ao que é mais fácil de vender, e não ao que causa a maioria dos bloqueios.
Comece por não precisar de fazer crawling
A medida com melhor retorno e aquela que é mais frequentemente ignorada.
Verifique se existe uma API. Muitos sites publicam uma, e esta é estável, estruturada e autorizada. Fazer crawling num site que oferece uma API é dar mais trabalho para um resultado pior.
Verifique se existe um feed de parceiros ou afiliados. Setores inteiros — emprego, imobiliário, retalho, viagens — publicam feeds em massa especificamente para agregadores, porque estes lhes enviam tráfego. Pergunte antes de criar. Um número surpreendente de sites responde que sim.
Verifique se existe um mapa do site. Este fornece-lhe um inventário de URLs, além de carimbos de datlastmod, para que possa obter apenas o que mudou, em vez de tudo.
Verifique se existem dados estruturados incorporados. O JSON-LD num bloco <script type="application/ld+json"> foi concebido para ser lido por máquinas, resiste a reformulações e já se encontra na página que ia ir buscar.
Verifique se os dados existem noutro local. Conjuntos de dados públicos, arquivos, registos oficiais.
Cada uma destas medidas elimina o problema de bloqueio, em vez de apenas o atenuar. O reflexo de criar primeiro um rastreador é o hábito mais dispendioso nesta área, e é por isso que colocámos esta secção antes de qualquer aspeto técnico. Abordámos toda a hierarquia de fontes em como encontrar todas as páginas de um site.
Leia primeiro as regras: o
robots.txt é agora uma norma, RFC 9309, e respeitá-la corretamente é, ao mesmo tempo, uma questão de conformidade e de interesse próprio.
Os aspetos que importam do ponto de vista operacional: a correspondência é feita por especificidade e não por ordem — a regra de correspondência mais longa prevalece; uma resposta 5xx significa proibição total, e não «prossiga»; uma resposta 404 significa que não há restrições; e o ficheiro deve ser atualizado pelo menos a cada 24 horas, em vez de ser obtido uma única vez no arranque.
Utilize um analisador atualizado. Tanto a regra da especificidade como a normalização da codificação percentual são fáceis de interpretar incorretamente, e um rastreador que interprete mal o ficheiro é aquele que acredita estar em conformidade quando, na verdade, não está. Abordámos os detalhes em como ler um ficheiro robots.txt.
Em seguida, leia os termos de serviço. «robots.txt» não significa autorização — o RFC afirma-o diretamente — e um site pode proibir o acesso automatizado, independentemente do que o ficheiro permita. É melhor saber isso antes de começar do que descobrir através de uma carta.
Controle bem o seu ritmo
A medida técnica de maior valor e a mais económica.
Uma solicitação a cada um ou dois segundos por domínio é um valor predefinido razoável. Mais lento para sites pequenos e não mais rápido sem provas de que o destino o tolera.
Respeite o parâmetro «Crawl-delay», caso o parâmetro «robots.txt» defina um valor. Trata-se de uma extensão e não de parte da norma, e respeitá-la não custa nada e demonstra boa-fé.
Adicione variação. Pedidos em intervalos exatamente regulares são uma assinatura que nenhum ser humano produz. A aleatorização entre, digamos, 1,0 e 2,5 segundos elimina essa assinatura sem qualquer custo.
Limite a simultaneidade por domínio, não globalmente. Oito pedidos simultâneos distribuídos por oito domínios é uma atitude educada. Oito contra um único domínio não o é.
Faça o rastreio durante as horas de menor movimento, sempre que possível. A tolerância de um site é menor quando está ocupado, e uma tarefa que decorre durante a noite não lhe custa nada extra.
E alargue a sua janela de tempo antes de aumentar a capacidade. Esta é a reestruturação mais útil que existe: cinquenta mil páginas distribuídas por vinte e quatro horas requerem cerca de duas ligações simultâneas; as mesmas cinquenta mil em duas horas requerem vinte. Se nada depender da conclusão rápida da tarefa — e, normalmente, nada depende —, o horário é a alavanca mais económica de que dispõe. Analisámos os cálculos em quantos proxies são necessários.
Identifique-se
Contraintuitivo e consistentemente eficaz.
User-Agent: AcmePriceBot/1.2 (+https://acme.example.com/bot)
Um nome, uma versão e um URL onde alguém possa descobrir quem é e como o contactar. Três vantagens, todas reais:
**robots.txt
pode dirigir-se a si especificamente.** As regras aplicam-se ao token do produto, pelo que um site pode conceder ao seu rastreador uma autorização que não concede a toda a gente. Isso não pode acontecer se for anónimo.
Os operadores podem contactá-lo em vez de o bloquearem. Isto acontece com mais frequência do que as pessoas esperam, e é um resultado muito melhor do que descobrir um bloqueio três semanas mais tarde.
Permite solicitar acesso. «Somos o rastilho identificado como AcmePriceBot; eis o que recolhemos e porquê» é uma conversa que pode levar a algum lado.
A alternativa — uma string copiada do Chrome — cria uma contradição em vez de um disfarce, porque um agente de utilizador de navegador numa ligação cuja impressão digital TLS e conjunto de cabeçalhos claramente não são de um navegador é mais identificável do que uma admissão honesta. Abordámos isso em como definir um agente de utilizador personalizado com o curl.
Armazenar em cache e utilizar pedidos condicionais
A medida que reduz a carga sem diminuir a cobertura.
Nunca recupere duas vezes o mesmo recurso que não sofreu alterações. Armazene o que recuperou, juntamente com os valores de «ETag» e «Last-Modified», e, em seguida, envie pedidos condicionais:
curl -sS -H 'If-None-Match: "abc123"' https://example.com/page
Um 304 Not Modified ocupa apenas algumas centenas de bytes, em vez de uma página completa. Numa nova rastreia em que a maioria das páginas se mantém inalterada, isto reduz tanto a sua fatura de largura de banda como a carga do destino numa ordem de grandeza.
Utilize o lastmod do mapa do site para decidir o que deve ser obtido. Um site com cinquenta mil páginas, das quais duzentas foram alteradas hoje, implica um rastreio de duzentas páginas, e não de cinquenta mil.
Armazene as respostas em bruto. Quando um analisador falhar, volte a analisar o que já tem, em vez de voltar a obter os dados. Isto representa uma poupança de custos e, ao mesmo tempo, uma cortesia.
Desduplique os URLs corretamente. Normalize as barras finais, a ordem dos parâmetros de consulta, as maiúsculas e minúsculas do nome do host e remova os parâmetros de rastreamento. Um rastreador sem normalização visita a mesma página várias vezes e parece um cliente muito mais pesado do que realmente é.
Tratar os erros da forma indicada pelo servidor
Os servidores indicam-lhe o que fazer. Seguir as instruções é a forma correta e mais rápida de voltar a ter tudo a funcionar.
429 Too Many Requests é definido na RFC 6585 como indicando «que o utilizador enviou demasiados pedidos num determinado período de tempo (“limitação de taxa”)». A resposta «PODE incluir um cabeçalho Retry-After indicando quanto tempo se deve esperar antes de efetuar um novo pedido».
503 Service Unavailable significa que o servidor «não consegue, neste momento, processar a solicitação devido a uma sobrecarga temporária ou a manutenção programada», e que «PODE enviar um campo de cabeçalho Retry-After... para sugerir um período de tempo adequado para o cliente aguardar».
Retry-After aceita uma data HTTP ou um número de segundos, de acordo com a RFC 9110 — Retry-After: 120 significa esperar dois minutos.
O comportamento correto perante um erro 429 ou 503:
Interromper as tentativas para esse domínio. Não abrandar, mas interromper, pelo menos durante o intervalo indicado.
Se não houver um Retry-After, reduza a frequência exponencialmente, partindo de um valor inicial generoso.
Reduza a sua taxa de estado estável posteriormente, porque acabou de ser informado de que era demasiado elevada.
Nunca tente novamente de imediato. Tentar novamente dentro de um limite de taxa é a forma como uma restrição temporária se torna um bloqueio permanente, e é a lesão autoinfligida mais comum no rastreamento.
Note também que a RFC 6585 diz que «as respostas com o código de estado 429 NÃO DEVEM ser armazenadas por uma cache» — pelo que uma camada de cache não o protegerá de repetir o erro.
Quando os proxies ajudam realmente
O nosso próprio produto, descrito da forma mais precisa possível.
Ajudam quando: já otimizaste a tua velocidade e ainda precisas de um débito que um único endereço não consegue fornecer; precisa de aceder a conteúdos específicos de uma região, em que o objetivo é parecer estar noutro local; utiliza rastreadores distribuídos e pretende que estes pareçam clientes separados, em vez de uma única máquina com vários threads; ou o endereço em que se encontra tem má reputação, sem que isso seja culpa sua.
Não ajudam quando: estiver a avançar demasiado depressa — a mesma taxa a partir de mais endereços continua a ser a mesma taxa, e agora marcou um conjunto de endereços em vez de um único endereço. Nem quando o padrão das suas solicitações está a ser identificado através da impressão digital TLS ou da composição do cabeçalho, uma vez que esses dados o acompanham. Nem quando um site tem termos que proíbem o acesso automatizado, o que o aumento do número de endereços não altera.
Que tipo: centro de dados para a maioria dos rastreamentos, porque é significativamente mais barato e as páginas públicas normalmente não requerem nada mais — o nosso começa nos 0,14 $/GB. Opte por uma ligação residencial, a partir de 0,79 $/GB, apenas quando o centro de dados falhar comprovadamente ou quando precisar de geolocalização na rede de consumidores. Valores retirados da nossa página de preços, verificados em setembro de 2026.
O custo que surpreende as pessoas: navegadores «headless». Um navegador descarrega todas as imagens, tipos de letra e scripts, pelo que a largura de banda aumenta aproximadamente uma ordem de magnitude em relação ao HTTP bruto. Se uma página não necessitar de JavaScript, não a renderize — e, se necessitar, bloqueie os tipos de recursos de que não necessita.
Distinguir um bloqueio «duro» de um «suave»
O modo de falha que mais custa, porque não se assemelha a uma falha.
Um bloqueio «duro» devolve um código 403, uma página de autenticação ou uma recusa de ligação. É evidente, óbvio e permite uma ação imediata.
Um bloqueio «suave» devolve o código 200 com conteúdo reduzido: menos itens, campos omitidos, dados desatualizados ou uma página genérica em vez da específica. A sua métrica de taxa de sucesso mantém-se nos 99% e os seus dados deterioram-se silenciosamente. Esta é a resposta mais comum de sites sofisticados, precisamente porque desperdiça o seu orçamento sem lhe dizer nada.
Proteja-se contra isso explicitamente:
Verifique o conteúdo, não o estado. Procure um marcador conhecido como estável na página e trate a sua ausência como um erro. Verifique as contagens. Se uma página de categoria nunca teve menos de vinte itens, considere menos de vinte como uma falha. Segmente as métricas por alvo. Doze alvos a 99% e um a 40% resultam numa média que parece saudável. Compare periodicamente com um navegador. Recupere uma página manualmente e compare-a com o que o seu rastreador recebeu.
Este é o mesmo padrão de falha silenciosa que descrevemos em por que é importante testar proxies, e é a razão pela qual «ficámos bloqueados durante três semanas e não nos apercebemos» é uma categoria real de incidente.
Quando parar
A secção que um fornecedor de proxies tem menos incentivo para escrever.
Quando os termos o proíbem. Alguns sites indicam isso explicitamente e fazem cumprir essa regra. Contornar uma proibição expressa é uma decisão com consequências que vão além do âmbito técnico.
Quando lhe for pedido que pare. Um pedido direto por parte do operador de um site põe fim à discussão.
Quando o esforço excede o valor. Se estiver a reformular a sua abordagem a cada duas semanas, os dados estão a custar mais do que valem. Trata-se de uma conclusão empresarial, não de um fracasso técnico.
Quando existe uma via legítima. Uma API, um feed, um conjunto de dados licenciado. Pagar por um acesso autorizado é frequentemente mais barato do que o tempo de engenharia gasto a contorná-lo, e não falha.
Quando o site implementou armadilhas. As «tarpits» e os labirintos gerados são concebidos para lhe custar mais do que custam ao site — servem conteúdo em cache enquanto você paga por gigabyte e por hora de computação. Essa assimetria é deliberada e não cede ao esforço.
Pergunte primeiro. Um e-mail a explicar quem é, o que precisa e em que volume resolve isto com mais frequência do que o discurso sugere, e proporciona um acesso que continua a funcionar.
Perguntas frequentes
Por que é que o meu rastreador continua a ser bloqueado?
Normalmente, é uma questão de ritmo. Um número excessivo de pedidos num intervalo de tempo demasiado curto a partir de um único endereço é, de longe, a causa mais comum, e está inteiramente sob o seu controlo. Padrões imprevisíveis, novas tentativas após erros e identificação anónima são responsáveis pela maior parte dos restantes casos.
A que velocidade posso rastrear um site?
Comece com uma solicitação a cada um ou dois segundos por domínio e só aumente a velocidade se houver indícios de que o alvo o tolera. Respeite o limite de tempo de espera (Crawl-delay) se o limite de tempo de espera (robots.txt) definir um. Se precisar de maior débito, alargar a sua janela de tempo é mais económico e seguro do que aumentar a simultaneidade.
Os proxies impedem que seja bloqueado?
Apenas no caso de bloqueios específicos por endereço. Se estiver a avançar demasiado depressa, a mesma taxa a partir de mais endereços continua a ser a mesma taxa e passa a sinalizar todo um conjunto de endereços. Se o padrão das suas solicitações for identificado através da impressão digital TLS ou dos cabeçalhos, estes acompanham-no independentemente do endereço.
Devo alternar os user agents?
Não. A rotação aleatória dentro de uma sessão cria um cliente que parece mudar de navegador a meio da visita, o que é uma inconsistência em vez de um disfarce. Um único user agent honesto com um URL de contacto é bloqueado com menos frequência do que qualquer esquema de rotação.
O que devo fazer quando recebo um 429?
Pare de enviar pedidos para esse domínio e aguarde, pelo menos, o tempo especificado em Retry-After. Sem esse cabeçalho, reduza exponencialmente a partir de um ponto de partida generoso e, em seguida, diminua a sua taxa de estado estacionário — acabou de ser informado de que esta era demasiado elevada. Nunca volte a tentar imediatamente.
Como sei se estou a ser bloqueado de forma suave?
Verifique o conteúdo em vez dos códigos de estado. Procure um marcador conhecido como estável em cada página, verifique se o número de itens corresponde ao esperado, segmente as métricas de sucesso por alvo em vez de de forma agregada e compare periodicamente uma página rastreada com uma carregada num navegador.
É legal rastrear um site?
Depende da jurisdição, dos termos do site, dos dados envolvidos e do que faz com eles. Respeitar o «robots.txt», identificar o seu rastreador e manter uma taxa modesta são práticas normais, e nada disso se sobrepõe aos termos de serviço ou aos direitos de autor. Procure aconselhamento para qualquer questão de importância comercial.
Qual é a medida mais eficaz que posso tomar?
Abreme o ritmo e verifica se é mesmo necessário fazer o rastreamento. Uma API, um feed de um parceiro ou um mapa do site com carimbos de datlastmodes elimina o problema em vez de o mitigar — e, nos casos em que o rastreamento é genuinamente necessário, controlar o ritmo evita mais bloqueios do que todas as outras medidas combinadas.
Conclusão
A perspetiva que torna isto exequível é a de que o bloqueio é uma resposta à carga e à imprevisibilidade, e não à identidade. Os sites não se opõem a serem lidos; opõem-se a serem sobrecarregados por algo que não conseguem prever e com que não conseguem estabelecer contacto.
O que coloca as medidas eficazes numa ordem inversa à da maioria dos artigos. Verifique se precisa mesmo de fazer o rastreamento, porque uma API ou um feed de um parceiro elimina completamente o problema. Leia robots.txt e cumpra-o corretamente, incluindo as partes sobre correspondência de especificidade e o significado do código 5xx como «parar». Controle o ritmo e adicione jitter. Identifique-se com um nome e um URL de contacto. Armazene em cache de forma agressiva e utilize pedidos condicionais para nunca voltar a recuperar o que não mudou. Faça o que Retry-After lhe diz.
Tudo isto é gratuito e irá evitar mais bloqueios do que qualquer aquisição de infraestrutura. Os proxies ajudam com um problema genuíno e mais específico — o débito que ultrapassa o limite de um único endereço e o conteúdo que difere consoante a região — e não ajudam em mais nada da lista.
E tenha sempre em mente a última secção. Um site que tenha estabelecido termos, implementado medidas de bloqueio ou pedido que pare está a transmitir-lhe uma mensagem, e as alternativas a contornar essas medidas são normalmente mais baratas e sempre mais duradouras.
