Voltar ao blogue
A ciência da extração de dados da Web
Anda MiuțescuLast updated on Mar 31, 20268 min read

Acabe de vez com os bloqueios de IP ao fazer web scraping

Acabe de vez com os bloqueios de IP ao fazer web scraping

Deixe-nos descrever-lhe a situação:

Percebeu que a Internet está repleta de dados valiosos que podem ajudar o seu negócio, por isso decidiu aproveitá-los. Aprendeu sobre extração de dados e criou o seu próprio scraper em Python. Está tudo pronto – escolheu uma página web e enviou o bot para trabalhar. Então, do nada, o site bloqueia o seu scraper e não o deixa extrair informações.

Azar, mas não se preocupe, a solução não podia ser mais fácil.

A extração de dados é uma prática comum nas empresas hoje em dia, porque as informações recolhidas podem ser utilizadas de várias formas para melhorar a rentabilidade. Um dos problemas mais comuns é ser bloqueado durante o processo de extração. Utilizamos vários métodos para evitar este problema, incluindo a rotação de IP, o tema central do artigo de hoje.

Mas eis uma questão bastante comum: por que razão os sites tentam bloquear os seus bots se está a extrair dados de forma legal e ética? Simples, eles não conhecem as suas intenções e têm muito a perder se não agirem.

Os bots ganharam uma reputação bastante má junto dos proprietários de sites devido às muitas formas como têm sido utilizados como sabotadores, invasores ou simplesmente como um incómodo. O problema com esta visão é que os bots são simplesmente ferramentas. Ninguém se queixa dos bots que o Google utiliza para encontrar e indexar páginas. A questão é que os bots podem ser bons ou maus, dependendo da forma como são utilizados.

Tendo isso em mente, os proprietários de sites têm, de certa forma, motivos para desconfiar dos bots. Existem muitas formas pelas quais os bots causam problemas, seja intencionalmente ou não:

  • Podem interferir nas análises do site. O software de análise geralmente não deteta visitantes que são bots, por isso conta-os, resultando em relatórios distorcidos.
  • Podem enviar tantos pedidos que acabam por tornar o servidor anfitrião mais lento, talvez até tornando o site indisponível para outros visitantes. Isto é geralmente intencional e é conhecido como ataque DDoS.
  • Para sites que dependem de receitas publicitárias nas suas páginas, os bots podem parecer uma bênção à primeira vista, uma vez que geram mais dinheiro para o site. O problema é que as redes de publicidade não são tolas — elas vão perceber que alguns dos anúncios estão a ser visualizados por bots, o que constitui uma forma de fraude de cliques. Basta dizer que os sites não querem ser acusados disso.
  • Os sites de comércio eletrónico podem ter muitas dores de cabeça devido aos bots. Alguns scripts compram novos produtos assim que estes ficam disponíveis, para que o criador possa depois revendê-los com lucro, criando escassez artificial. Em alternativa, os bots podem interferir no inventário, adicionando artigos ao carrinho de compras e parando, bloqueando efetivamente o acesso dos compradores reais a esses produtos.

Em resumo, não se pode realmente culpar um site por ser cauteloso com os bots. Próxima pergunta: como é que eles o identificaram, para começar?

Porquê eu?

Os sites são criados para humanos (em termos gerais) e, se um deles detetar um bot estranho, como um web scraper, provavelmente irá bloqueá-lo. Portanto, a questão é: como é que o site rastreou o seu robô?

Para um site o bloquear, primeiro tem de identificar o bot, e faz isso monitorizando comportamentos de navegação invulgares.

Os web scrapers são mais rápidos do que qualquer ser humano, esse é o seu apelo, mas, na maioria das vezes, é também a prova irrefutável. Se encarregares o bot de extrair dez páginas de um site, ele terminará o trabalho em menos tempo do que o que demoraste a dar-lhe a ordem. Basta ao site verificar que um único IP enviou dez pedidos mais rapidamente do que qualquer ser humano conseguiria e identificará o bot.

Existem também outras formas, sendo a mais conhecida:

  • Identificação do navegador
  • Identificação de TLS
  • Verificação do IP em listas de proxies conhecidos

Existem também outras contramedidas contra os web scrapers, como os CAPTCHAs, mas estas destinam-se mais a impedir comportamentos suspeitos do que a detetá-los.

Como evitar o banimento de IP

O engraçado em evitar bloqueios de IP é que, quanto mais IPs tiver, menos provável é que algum deles seja detetado. E, claro, se alguns deles ainda forem banidos, continuará a ter muitos.

Portanto, o seu primeiro passo é um conjunto de proxies robusto. Para isso, terá de encontrar um fornecedor de proxies fiável, já que é a opção mais económica. Em vez de comprar IPs, basta pagar uma mensalidade e ter acesso a centenas de milhares ou até milhões de IPs.

Além do volume de proxies, também terá de analisar a composição do conjunto de proxies. Alguns IPs são mais visíveis do que outros, enquanto alguns sites são mais perspicazes. Poderia usar proxies premium para todas as suas tarefas de scraping, mas isso seria um desperdício, uma vez que os melhores proxies custam mais dinheiro.

O que importa é que tenha acesso a todas as ferramentas de que possa precisar e ao conhecimento para escolher a mais adequada para cada situação.

A última peça do quebra-cabeças é a questão da rotação dos IPs que utiliza. Utilizar o mesmo proxy leva ao problema que apresentámos anteriormente — um único IP a fazer pedidos demasiado rápido para ser humano. Mas, com o seu conjunto de proxies à mão, pode enviar cada pedido a partir de uma fonte diferente. O site já não vê um utilizador hiperativo, mas sim dez utilizadores diferentes a navegar quase ao mesmo tempo.

Esta foi uma breve visão geral do que terá de considerar. Agora, vamos entrar em mais detalhes sobre que tipo de proxies deve obter e como melhor utilizá-los.

Encontre o disfarce certo

Existem muitos proxies diferentes por onde escolher e muitos critérios a considerar. À primeira vista, o assunto pode parecer muito complicado e pode sentir vontade de desistir, mas não desista! Vai aprender o básico apenas lendo um artigo interessante, informativo e acessível, como este!

Para começar, vamos falar sobre o anonimato, o principal atrativo dos IPs de proxy. Em primeiro lugar, isso não é garantido; alguns proxies não tentam esconder o seu IP real, atuam apenas como intermediários e nada mais; estes são chamados de proxies transparentes. Quando uma solicitação é feita através de um IP deste tipo, um dos cabeçalhos notificará o site de que se trata, de facto, de um proxy, enquanto outro enviará o seu endereço real.

Em seguida, só porque está a usar um disfarce não significa imediatamente que está a enganar alguém. Os proxies anónimos escondem o seu endereço real, mas não o facto de serem proxies. O cabeçalho da solicitação é o que o denuncia novamente. O site não saberá quem ou onde você está, mas saberá que alguém está a visitar com um IP.

Por fim, existem proxies de alto anonimato, também chamados de elite. Estes são os verdadeiros, pois não só mantêm a sua identidade em segredo, como também se abstêm de se anunciar como proxies. Não nos interpretem mal, um webmaster determinado identificará todos os proxies, por melhor que seja o disfarce, mas os proxies de elite ainda oferecem a melhor hipótese de passar despercebido.

Para web scraping, existem geralmente dois tipos de proxies anunciados: datacenter e residenciais. Ambos os tipos de IPs mascaram o seu endereço real, a diferença reside mais na sua natureza.

Os proxies de datacenter são IPs baseados na nuvem, sem localização real. Construídos sobre uma infraestrutura moderna, estes proxies são bastante baratos e pode ter acesso a alguns milhares sem gastar muito. Além disso, os IPs de datacenter utilizam uma boa ligação à Internet, pelo que poderá extrair dados mais rapidamente do que com outros tipos de proxies. A desvantagem é o facto de a sua falta de uma localização real e a sub-rede partilhada (parte do IP é a mesma para todos os proxies da mesma «família») tornarem os IPs de datacenter mais fáceis de detetar e, consequentemente, bloquear.

Os proxies residenciais podem ser considerados a opção de alta qualidade porque são IPs reais, fornecidos por fornecedores de serviços de Internet reais e com localizações físicas reais. Em suma, são praticamente indistinguíveis de visitantes normais. Um conjunto de proxies deve ter IPs residenciais de tantos locais diferentes quanto possível para garantir boas velocidades e acesso a conteúdos com restrições geográficas. Tendo os melhores resultados, não é surpresa que os proxies residenciais também tenham preços mais elevados.

Esconda os seus rastros

Se um proxy fizer bem o seu trabalho, parecerá que o IP do seu bot é o seu endereço genuíno. Isso é muito bom, mas um proxy não consegue esconder a forma como os bots funcionam, que é muito rápida. Assim, com um único proxy de alta qualidade, o seu bot acabará por ter o IP do proxy bloqueado e voltará à estaca zero.

Se tiver vários proxies, pode alternar para um diferente a cada pedido, de modo que a atividade de um bot zeloso pareça um enxame de utilizadores diferentes. Se tudo correr bem, nenhum dos IPs será bloqueado e o web scraper fará o seu trabalho.

Pode alternar manualmente entre proxies, mas o processo é demorado e frustrante, o oposto do que a utilização de robôs deveria ser. Como tal, a maioria das ferramentas de web scraping que valem a pena têm funcionalidades de rotação automática de proxies.

No caso da WebscrapingAPI, funciona assim: cada pedido para cada página web que faz é automaticamente efetuado através de um IP diferente. Mesmo que faça o scraping da mesma página cem vezes, o site irá registá-lo como cem visitantes diferentes a aceder à página.

Em alguns casos, poderá querer que o site o reconheça. Nessa situação, basta modificar um parâmetro na sua solicitação e usará o mesmo IP ao revisitar uma página.

A rotação dos seus proxies é absolutamente necessária se pretender extrair dados de várias páginas no mesmo site. A rotação automática de proxies destina-se a tornar o processo fácil e sem complicações.

Palavras de tranquilização

Não há motivo para entrar em pânico quando um web scraper é bloqueado por um site, desde que não estejamos a infringir quaisquer direitos de autor; contornar a restrição não significa que se esteja a fazer algo ilegal. Felizmente, a rotação de IP é uma solução rápida e eficiente para os scrapers bloqueados de todo o mundo.

Para começar a fazer scraping sem preocupações, experimente o nosso plano gratuito e obtenha 1000 chamadas de API sem compromisso.

Sobre o autor
Anda Miuțescu, Redator de conteúdos técnicos @ WebScrapingAPI
Anda MiuțescuRedator de conteúdos técnicos

Anda Miuțescu é redatora de conteúdos técnicos na WebScrapingAPI, criando conteúdos claros e úteis que ajudam os programadores a compreender o produto e as suas funcionalidades.

Comece a construir

Pronto para expandir a sua recolha de dados?

Junte-se a mais de 2.000 empresas que utilizam a WebScrapingAPI para extrair dados da Web à escala empresarial, sem quaisquer custos de infraestrutura.