Como fazer raspagem de dados em sites protegidos pela Cloudflare

Domine as técnicas para contornar as medidas de segurança da Cloudflare para uma raspagem de dados eficiente da web.
11 min read
How to Scrape a Cloudflare-Protected Website blog image

Neste guia, você vai aprender:

  • O que é Cloudflare
  • Por que sua solução WAF representa um desafio para seus scripts de raspagem
  • Como contornar o WAF do Cloudflare usando soluções completas
  • Como lidar com cada uma das principais medidas anti-bot nas quais ele se baseia

Vamos nos aprofundar!

O que é o Cloudflare?

O Cloudflare é uma empresa de infraestrutura e segurança da web que opera uma das maiores redes da web. Ele oferece um conjunto abrangente de serviços projetados para tornar os sites mais rápidos e seguros.

Em sua essência, o Cloudflare funciona principalmente como uma CDN (rede de distribuição de conteúdo), armazenando em cache o conteúdo do site em uma rede global para melhorar os tempos de carregamento e reduzir a latência. Além disso, ele fornece recursos como proteção contra DDoS (ataque distribuído de negação de serviço), WAF (firewall de aplicação web), gerenciamento de bots, serviços de DNS e muito mais.

Ao se integrar à rede do Cloudflare, os sites podem rapidamente obter segurança aprimorada e desempenho otimizado. Isso fez da Cloudflare a solução ideal para milhões de sites em todo o mundo.

Cloudflare WAF em poucas palavras

Um WAF, abreviação de firewall de aplicação web, é um sistema de segurança que filtra e monitora o tráfego HTTP entre um aplicativo web e a Internet. Ele ajuda a proteger sites contra ataques como DDoS, cross-site scripting (XSS), injeção de SQL e outras atividades maliciosas.

Em particular, Cloudflare WAF é uma das soluções WAF mais usadas no mundo. Sua popularidade se deve à ampla adoção do Cloudflare como CDN. Para sites que já estão no Cloudflare, habilitar o WAF com configurações padrão requer apenas alguns cliques.

As principais tecnologias e técnicas anti-bot implementadas pelo Cloudflare WAF incluem:

  • Limitação de velocidade: limita o número de solicitações que um único IP pode fazer em um determinado período de tempo para interromper ataques de DDoS e evitar tentativas de força bruta.
  • Desafios de JavaScript: verifica se o visitante pode executar JavaScript, que é um comportamento típico de usuários reais.
  • Turnstile CAPTCHA: apresenta testes CAPTCHA para robôs suspeitos.
  • Reputação de IP: mantém um banco de dados de reputação para bloquear endereços IP suspeitos imediatamente.
  • Análise de comportamento: monitora o comportamento do visitante para detectar padrões automatizados ou atividades anormais.

Quando um site é protegido pelo Cloudflare WAF, ele normalmente emprega uma ou mais soluções anti-bot para bloquear solicitações automatizadas. A combinação dessas defesas é o que torna a raspagem de dados de um site protegido pela Cloudflare particularmente desafiadora.

Primeiras soluções para evitar bloqueios do Cloudflare ao fazer raspagem de dados em um site

Descubra as melhores soluções e ideias para uma primeira abordagem à raspagem de dados na web em sites protegidos pelo Cloudflare. 

Contorne totalmente o Cloudflare

Não se esqueça que o Cloudflare atua como uma CDN, o que significa que ele armazena em cache e distribui o conteúdo do site em vários servidores geograficamente dispersos. Portanto, sites distribuídos via Cloudflare normalmente só são acessíveis por meio de servidores na rede CDN.

Agora, imagine se você conseguisse descobrir o endereço IP do servidor do site por trás da CDN. A consequência seria que você poderia interagir com o site e, ao mesmo tempo, contornar completamente o Cloudflare. Afinal, o Cloudflare só pode avaliar solicitações que passam por sua rede. 

Isso é possível analisando ferramentas de pesquisa de histórico de DNS, como SecurityTrails, para identificar qualquer registro histórico de DNS que revele o endereço IP do servidor original. Depois de obter o IP, você pode tentar enviar solicitações diretamente para o servidor, contornando o Cloudflare.

O problema é que o servidor pode ter configurações adicionais para aceitar solicitações somente da faixa de IP do Cloudflare. Isso tornaria quase impossível conectar-se diretamente ao site sem ser bloqueado. Além disso, encontrar com sucesso o IP original do servidor é muito difícil e improvável.

Solucionadores Cloudflare gratuitos

Online, você pode encontrar várias bibliotecas gratuitas e de código aberto projetadas para contornar o Cloudflare. Alguns dos mais populares incluem:

  • cloudscraper: um módulo Python que lida com os desafios anti-bots do Cloudflare.
  • Cfscrape: um módulo PHP leve para contornar as páginas anti-bot do Cloudflare.
  • Humanoid: um pacote Node.js para contornar os desafios de JavaScript anti-bot do Cloudflare.

Embora essas soluções possam funcionar temporariamente, lembre-se de que anti-scraping é um jogo de gato e rato. O que funciona hoje pode não funcionar amanhã, pois a Cloudflare atualiza continuamente seus mecanismos de proteção. 

Não é de surpreender que a maioria desses projetos não tenha recebido atualizações há anos. O motivo é que os desenvolvedores desistiram devido à luta contínua para acompanhar as atualizações do Cloudflare.

Solucionadores premium da Cloudflare

Na maioria dos casos, a melhor solução para fazer raspagem de dados em um site protegido pelo Cloudflare é usar um produto premium. O custo garante atualizações regulares de especialistas na área de raspagem de dados, mantendo alta confiabilidade contra as defesas do Cloudflare.

Além disso, fornecedores de alto nível, como a Bright Data, também oferecem suporte técnico 24 horas por dia, 7 dias por semana, para ajudar a resolver quaisquer problemas. Se você está procurando uma solução profissional de raspagem de dados com Cloudflare, experimente nosso Scraping Browser

Como um navegador GUI escalável e baseado em nuvem, ele se integra com Playwright, Puppeteer, Selenium e quaisquer outras bibliotecas de navegador headless (sem interface gráfica). Para garantir alta eficácia em relação ao Cloudflare, ele inclui recursos como rotação de IP, recursos de resolução de Captcha, rotação de usuário-agente e muito mais.

Raspagem de dados em um site protegido pela Cloudflare: abordagem prática e fácil para contornar os anti-bots

Decifrar o Cloudflare é difícil, especialmente se você não quiser usar uma solução completa premium. Se esse é o caminho que você quer seguir, você deve levar em conta todas as defesas do Cloudflare contra bots e encontrar maneiras de superá-las.

Nesta seção, você verá algumas das técnicas de alto nível mais úteis para contornar o Cloudflare e fazer raspagem de dados em sites protegidos pelo WAF. Para obter instruções detalhadas, confira nosso guia sobre como contornar o Cloudflare.

Vamos começar!

Renderização de JavaScript

Uma das técnicas mais comuns que o Cloudflare usa para detectar bots são desafios de JavaScript. Esses são scripts JavaScript incorporados em páginas da web que são executados durante o tempo de renderização pelo navegador. Eles realizam verificações específicas para determinar a probabilidade de o visitante ser um bot:

Um teste cloudflare ao visitar uma página da web

Se o Cloudflare suspeitar que você é um bot com base no resultado desses desafios, ela mostrará um CAPTCHA. Caso contrário, você poderá acessar o conteúdo da página. 

Portanto, para segmentar uma página protegida pelo Cloudflare, você precisa usar uma ferramenta de automação de navegador como Playwright, Selenium ou Puppeteer. Essas ferramentas permitem que você instrua um navegador a interagir com páginas da web como usuários comuns. Saiba mais em nosso guia sobre raspagem de dados na web com Playwright.

O problema é que os navegadores headless têm configurações padrão que podem expô-los a sistemas de detecção anti-bot. Para evitar isso, você deve usar bibliotecas como Playwright Stealth ou Puppeteer Stealth por meio de Puppeteer Extra, que ajudam a mascarar atividades headless no navegador.

Resolução de CAPTCHA

Se o Cloudflare achar que você pode ser um bot, ele tentará parar você com um Turnstile CAPTCHA:

Exemplo de CAPTCHA Turnstile

Dependendo da configuração, o CAPTCHA pode ser um teste simples baseado em cliques, como acima, ou um quebra-cabeça mais complexo, como abaixo:

Exemplo de quebra-cabeça CAPTCHA

Automatizar a resolução do CAPTCHA é complexo, pois os CAPTCHAs são testes projetados especificamente para diferenciar entre bots e humanos. Se o seu navegador headless enfrentar esse desafio, você pode experimentar as técnicas descritas em nosso guia sobre contornar CAPTCHAs com Python.

Para uma solução mais confiável que funcione independentemente da tecnologia que você está usando em seu script de raspagem, considere o Cloudflare Turnstile Solver da Bright Data. Isso resolve de forma rápida e automática os CAPTCHAs do Cloudflare Turnstile para você.

Contornar o limitador de velocidade

Se você fizer muitas solicitações do mesmo IP em pouco tempo, é provável que o Cloudflare proíba temporariamente ou até mesmo permanentemente seu IP. Isso é problemático, pois interrompe sua operação de coleta e prejudica a reputação do seu IP. 

A técnica descrita acima, usada para impedir ataques de DDoS e solicitações automatizadas indesejadas, é chamada de limitação de velocidade. Como seu IP está vinculado à rede à qual você está conectado, você não pode alterá-lo facilmente. A única maneira eficaz de implementar a rotação de IP e evitar banimentos é usar um serviço de proxy.

Com soluções como proxies residenciais, você pode fazer com que as solicitações do seu script apareçam como se estivessem vindo de dispositivos reais em um local específico. Saiba mais sobre nossas ofertas de proxy residencial.

Spoofing de navegador 

Os navegadores, mesmo no modo headless, consomem muitos recursos. Portanto, criar uma operação de raspagem de dados em um site protegido pelo Cloudflare usando uma ferramenta de automação de navegador pode resultar em um processo que consome muitos recursos. Isso pode potencialmente exigir vários servidores e uma arquitetura complexa.

Para evitar esse incômodo — e nos casos em que o WAF da Cloudflare foi configurado para não ser excessivamente agressivo — você pode tentar uma abordagem diferente. A ideia é fazer solicitações automatizadas de clientes HTTP que imitam navegadores reais, o que é conhecido como spoofing de navegador.

O objetivo é fazer com que suas solicitações HTTP pareçam o mais próximo possível das de um navegador comum. Você pode obter o resultado definindo cabeçalhos HTTP específicos, como Usuário-Agente. Para obter mais informações, siga nosso guia sobre o melhor Usuário-Agente para raspagem de dados na web.

Em cenários mais complexos, esse truque sozinho pode não ser suficiente. O Cloudflare ainda pode detectar suas solicitações como provenientes de um cliente HTTP em vez de um navegador devido à impressão digital TLS:

Exemplo de teste de cliente SSL/TLS

Se você não estiver familiarizado com esse conceito, a impressão digital TLS envolve a identificação de um cliente com base na forma como ele estabelece conexões seguras via TLS. Para replicar a impressão digital TLS de um navegador, você pode usar um cliente HTTP como o curl-impersonate, conforme explicado em nosso tutorial dedicado.

Conclusão

Neste artigo, você viu várias dicas e truques para fazer raspagem de dados em sites protegidos pelo Cloudflare. O Cloudflare é o serviço CDN mais popular do mercado e também oferece soluções anti-bot avançadas. Conforme aprendi aqui, contornar as medidas anti-raspagem do Cloudflare é desafiador, mas não impossível.

Independentemente da abordagem escolhida, lembre-se de que tudo fica mais fácil com soluções de raspagem profissionais, rápidas e confiáveis, como:

  • Web Unlocker: cortorne de forma autônoma a limitação de velocidade, a impressão digital e outras restrições anti-bots, permitindo uma coleta contínua de dados públicos na web.
  • CAPTCHA Solver: resolva automaticamente vários tipos de CAPTCHAs, permitindo que você acesse o conteúdo em qualquer página da web ou conclua interações sem intervenção manual.
  • Scraping Browser: um navegador totalmente hospedado que permite coletar dados dinâmicos da web enquanto automatiza o processo de desbloqueio de sites.

Com o amplo conjunto de ferramentas para raspagem de dados da Bright Data, extrair dados de sites protegidos pela Cloudflare nunca foi tão fácil!

Inscreva-se agora para descobrir quais das soluções da Bright Data melhor atendem às suas necessidades. Comece com um teste grátis hoje!

Não é necessário cartão de crédito