Sistemas anti-bot: Como funcionam e podem ser contornados?

Guias, Out-07-20245 minutos de leitura

Os sistemas anti-bot são tecnologias concebidas para proteger os sítios Web de interações automatizadas, como o spam ou os ataques DDoS. No entanto, nem todas as actividades automatizadas são prejudiciais: por exemplo, os bots são por vezes necessários para testes de segurança, construção de índices de pesquisa e recolha de dados de fontes abertas. Para executar essas tarefas sem ser bloqueado por sistemas anti-bot, são necessárias ferramentas especializadas.

Para conseguir contornar um sistema anti-bot, é essencial compreender quais são os diferentes tipos de proteção e como funcionam.

Como é que os sistemas anti-bot detectam os bots?

Os sistemas anti-bot reúnem uma quantidade significativa de informações sobre cada visitante do sítio Web. Estas informações são analisadas e, se algum parâmetro parecer pouco caraterístico de um utilizador humano, o visitante suspeito pode ser bloqueado ou ser-lhe pedido que resolva um CAPTCHA para provar que é, de facto, de origem humana.

Estas informações são normalmente recolhidas a três níveis: rede, comportamento e impressão digital do navegador.

  • O nível da rede: Os sistemas anti-bot analisam os pedidos, verificam a pontuação de spam dos endereços IP e inspeccionam os cabeçalhos dos pacotes. Os visitantes cujos endereços IP aparecem em "listas negras", pertencem a centros de dados, estão associados à rede Tor ou parecem suspeitos de outras formas podem enfrentar um desafio CAPTCHA. É provável que já tenha passado por isto na sua vida, quando o Google o mandou resolver um CAPTCHA só porque estava a utilizar um serviço VPN gratuito.
  • Nível da impressão digital do navegador: Os sistemas anti-bot recolhem informações sobre o browser e o dispositivo utilizado para aceder ao sítio Web, criando uma impressão digital do dispositivo correspondente. Esta impressão digital inclui normalmente o tipo, a versão e as definições de idioma do browser, a resolução do ecrã, o tamanho da janela, o ruído do hardware, as fontes do sistema, os dispositivos multimédia e muito mais.
  • Nível comportamental: Alguns sistemas avançados examinam a proximidade entre as acções de um utilizador e o comportamento dos visitantes regulares do sítio Web.

Existem muitos sistemas anti-bot, e as especificidades de cada um podem variar muito e mudar com o tempo. As soluções mais populares incluem:

  • Akamai
  • Cloudflare
  • Datadome
  • Incapsula
  • Casada
  • Perímetrox

Entender qual sistema anti-bot protege um site pode ser importante para escolher a melhor estratégia de desvio. Você encontrará seções inteiras dedicadas a contornar sistemas anti-bot específicos em fóruns especializados e canais do Discord. Por exemplo, essas informações podem ser encontradas no The Web Scraping Club.

Para identificar o sistema anti-bot que um sítio Web utiliza, pode utilizar ferramentas como a extensão do browser Wappalyzer.

Como contornar sistemas anti-bot?

Para evitar que o sistema detecte a automatização, é necessário assegurar um nível suficiente de mascaramento em cada nível de deteção. Isto pode ser conseguido de várias formas:

  • Utilizando as suas próprias soluções personalizadas e mantendo a infraestrutura de forma independente;
  • Utilizando serviços pagos como Apify, Scrapingbee, Browserless ou Surfsky;
  • Combinando proxies de alta qualidade, solucionadores CAPTCHA e navegadores anti-deteção;
  • Utilizando navegadores padrão em modo headless com correcções anti-deteção;
  • Ou através de muitas outras opções de complexidade variável.

Mascaramento ao nível da rede

Para proteger um bot ao nível da rede, é essencial usar proxies de alta qualidade. É certo que podem ser realizadas tarefas simples utilizando apenas o seu próprio endereço IP, mas é pouco provável que esta abordagem seja viável se pretender recolher uma quantidade significativa de dados. Necessitará de bons proxies residenciais ou móveis que não tenham sido colocados na lista negra para enviar dezenas de milhares de pedidos regularmente.


Verificar o endereço IP utilizando o IPQualityScore

Ao escolher um proxy, preste atenção aos seguintes parâmetros:

  • Se o seu endereço IP aparece em bases de dados de spam. Isto pode ser verificado com ferramentas como o PixelScan ou consultando a base de dados iplists.firehol.org.
  • Se existem fugas de DNS. Ao testar usando qualquer verificador adequado como o DNS Leak Test, o seu servidor real não deve aparecer na lista de servidores.
  • O tipo de fornecedor de proxy. Os proxies pertencentes a ISPs são menos suspeitos.

Pode saber mais sobre como verificar a qualidade do proxy aqui.

Os proxies rotativos também são úteis para a recolha de dados na Web. Fornecem muitos endereços IP, em vez de apenas um, reduzindo a possibilidade de um bot que esteja a recolher informações ser bloqueado, uma vez que é mais difícil para o sítio Web encontrar padrões nos pedidos. Os proxies rotativos distribuem os pedidos por muitos endereços IP, reduzindo os riscos de bloqueio devido a um grande número de pedidos de um único IP.

Mascaramento ao nível das impressões digitais

Os navegadores com várias contas (anti-deteção) são perfeitos para falsificar as impressões digitais do navegador. Os de melhor qualidade, como o Octo Browser, falsificam a impressão digital ao nível do kernel do navegador e permitem criar um grande número de perfis de navegador, cada um parecendo um utilizador separado.

Configurando a impressão digital de um perfil Octo Browser

A recolha de dados com um browser anti-deteção pode ser feita com a ajuda de qualquer biblioteca ou estrutura de automatização de browser conveniente. É possível criar o número desejado de perfis com as definições de impressões digitais, proxies e cookies necessários, sem ter de abrir o próprio navegador. Posteriormente, estes podem ser utilizados no modo de automatização ou manualmente.

Trabalhar com um navegador com múltiplas contas não é muito diferente de usar um navegador normal em modo headless. O Octo Browser fornece documentação detalhada com instruções passo-a-passo sobre como se conectar à API para todas as linguagens de programação populares.

Um exemplo de criação de um perfil de navegador Octo usando Python

Os navegadores anti-deteção profissionais permitem-lhe gerir convenientemente um grande número de perfis de navegador, ligar proxies e aceder a dados que normalmente não estão disponíveis com métodos de raspagem padrão, graças a um sistema avançado de falsificação de impressões digitais.

Simulação de acções reais do utilizador

Para contornar os sistemas anti-bot, é também necessário simular acções de utilizadores reais: atrasos, emulação do movimento do cursor, pressões rítmicas de teclas, pausas aleatórias e padrões de comportamento irregulares. Muitas vezes, é necessário executar acções como autorização, clicar em botões "Ler mais", seguir ligações, submeter formulários, percorrer feeds, etc.

As acções do utilizador podem ser simuladas utilizando soluções populares de código aberto para automação do navegador, como o Selenium, embora também existam outras opções, como o MechanicalSoup, o Nightmare JS e outros.

Para que o scraping pareça mais natural para os sistemas anti-bot, é aconselhável adicionar atrasos com intervalos irregulares aos pedidos.

Conclusões

Os sistemas anti-bot protegem os sítios Web de interações automatizadas, analisando informações sobre a rede, o navegador e o comportamento do utilizador. Para contornar estes sistemas, cada um destes níveis requer uma máscara adequada.

  • Ao nível da rede, pode utilizar proxies de alta qualidade, especialmente os rotativos.
  • Para falsificar a impressão digital do navegador, pode utilizar navegadores anti-deteção com várias contas, como o Octo Browser.
  • Para simular acções reais do utilizador, pode utilizar ferramentas de automatização do navegador, como o Selenium, incorporando adicionalmente atrasos irregulares e padrões de comportamento.

Pretende melhorar a sua configuração de raspagem da Web com ferramentas anti-deteção de topo? 

O Octo Browser é a sua solução ideal. Oferece spoofing de impressões digitais de ponta e gestão de várias contas sem esforço. 

Use o código promocional PROXYSCRAPE para obter uma assinatura básica gratuita de 4 dias do Octo Browser para novos usuários. Não perca esta oportunidade de melhorar o seu jogo de web scraping!

Boa raspagem!