Ir para o conteúdo

Como ignorar a detecção Cloudflare com Selenium

Você está procurando uma maneira de ignorar a detecção do Cloudflare ao codificar seu bot em Python? Então você está na página certa. O artigo abaixo fornece um guia sobre como ignorar o Cloudflare usando Python e Selenium.

Webbots, incluindo raspadores de teia, avançaram muito ao longo dos anos. E vamos enfrentá-lo; os sites também estão se tornando mais inteligentes em detecção de tráfego de bot. Uma das mudanças de jogo que fazem os desenvolvedores de bot suar é o Sistemas anti-bot Cloudflare.

Ele atua como um middleware ou um proxy entre os servidores da Web e o software cliente. Se você enviar uma solicitação da web, ela terá que verificar se não é spam e é legítima antes de permitir que ela passe para o site de destino.

Os usuários regulares da Internet experimentam um pequeno atraso e recebem o “verificando seu navegador antes de acessar …”. mensagem na tela. Mas isso acabará por passar. No entanto, se você estiver usando um bot, provavelmente não terá acesso. Alguns desenvolvedores acham que usar um automatizador de navegador como o Selenium também faria a mágica para eles.

Infelizmente, o Cloudflare foi criado para detectar isso também. Então, o que você faz e como você ignorar a detecção do Cloudflare como desenvolvedor de bot usando Python e Cloudflare? Neste artigo, você verá como ignorar a detecção do Cloudflare usando Python e Selenium.


Uma Visão Geral do Selênio

Visão geral do selênio

Selenium web driver é um automatizador de navegador. O que você faz com isso é com você. Alguns o usam para testes no site, outros para botting e scraping. É uma ferramenta versátil, pois você pode usá-la em várias linguagens de programação populares, como Python, Java e NodeJS.

Ele também oferece suporte a navegadores populares, como Chrome, Firefox, Edge e Internet Explorer. Nosso foco aqui é o suporte a Python. Em Python, o Selenium é a principal ferramenta para botting e scraping de sites que dependem da renderização do JavaScript. Os gostos de Scrapy, Requests e Beautifulsoup não são adequados para isso.

No entanto, o Selenium só é eficaz contra sites com sistemas anti-spam básicos. Com a ajuda de proxies, limpando cookies, definindo atrasos aleatórios e alguns outros métodos, você pode evitar a detecção e bloquear.

Mas quando um site é protegido por sistemas anti-spam como Cloudflare e Akamai, o Selenium se torna ineficaz. Isso ocorre porque existem ponteiros padrão que os sistemas anti-spam usam para detectar bots que a ferramenta Selenium padrão possui.


Como ignorar o Cloudflare usando Selenium e Python

Com as etapas certas, o Selenium pode contornar facilmente o Cloudflare. Antes de entrar nisso, vamos dar uma olhada em como o Cloudflare funciona bem na detecção de bots codificados com Python e Selenium. Para fazer isso, vamos codificar um bot simples que tenta acessar rayobyte.com.

Visão geral do Rayobyte

Rayobyte é um provedor de proxy protegido pela Cloudflare. Se você tentar acessá-lo com um navegador, seu navegador precisa ser verificado antes de receber acesso. Usaremos isso para testar a eficácia do Cloudflare e, em seguida, codificar outro bot que incorporará medidas para contorná-lo.


Passo 1: Instale as Ferramentas Necessárias

Para você codificar um bot em Python, você precisa ter o Python instalado. Para este projeto, você também precisa ter o Selenium instalado.

  • Python

Visão geral do Python

Para a maioria dos sistemas, o Python já está instalado. No entanto, a versão instalada é o Python 2, que é usado por motivos de legado. Você precisará instalar o Python 3 para usar o Selenium. Visite a página oficial de download do Python para instalá-lo em seu sistema. Está disponível para Windows, macOS e Linux. Para verificar se a instalação foi realizada com sucesso, execute o comando abaixo em seu prompt de comando.

“python —versão”
  • Selênio

ferramentas de selênio

Selenium é uma ferramenta completa de botting. Ele automatiza o navegador, permitindo acessar páginas, clicar em botões, rolar e até mesmo preencher formulários e realizar qualquer ação que você possa realizar manualmente. O Selenium é uma ferramenta de terceiros.

Para que funcione, você precisará instalá-lo e, em seguida, baixar e colocar o driver específico para o navegador que deseja automatizar no caminho.

Para este guia, usaremos o Chrome, pois é o navegador mais popular do mercado.

Para instalar o Selenium, execute o

“pip instalar selênio”

comando no prompt de comando. Depois que o download estiver concluído, você poderá visitar a página de download do driver da Web do Chrome. C

Verifique a versão do Chrome que você possui e baixe o driver específico para a sua versão do Chrome. Se você baixar o de outra versão, não funcionará.

Depois de baixado, descompacte o conteúdo em uma pasta. Essa pasta será a pasta de trabalho para este projeto.


Etapa 2: enviar solicitação ao site sem ignorar o truque

Nosso site de destino é rayobyte.com. Codificaremos um script que enviará uma solicitação para este site e veremos a resposta que obtemos.

Abaixo está o código. É bastante simples. Aquele que requer mais linhas de código é, na verdade, aquele com o código para ignorar o Cloudflare.

Use o código abaixo em seu Python IDLE favorito. No meu caso, estou usando o Pycharm, que atualmente é o melhor IDLE do mercado - isso é discutível. O grande problema é que é pago.

from selenium.webdriver import Chrome browser = Chrome() browser.get("https://rayobyte.com")

O código acima iniciará o navegador Chrome em seu sistema e tentará acessar a página inicial do site Rayobyte.

No entanto, em vez de acessar a página, ela ficará apenas em loop e permanecerá na página de verificação da Cloudflare. Abaixo está uma captura de tela de como a página se parece.

Se você verificar bem o código, verá que não o fechei. Isso é para permitir que eu veja se acabará permitindo que a página carregue. Mas isso nunca vai acontecer. Você deve fechar o navegador automatizado.

Como você já viu, o Selenium, por si só, não pode ser usado para contornar o Cloudflare. Se você deseja ignorar o Cloudflare, deve usar alguns truques. A próxima etapa mostrará como usar o mesmo Selenium e Python para ignorar o Cloudflare.


Etapa 3: usando o plug-in para ignorar o Cloudflare

usando o plug-in para ignorar o Cloudflare

Como você pode ver acima, Cloudflare detecta scripts Selenium como bots. O uso de proxies não irá ajudá-lo neste caso. Você precisa de outros métodos.

A melhor maneira de contornar o Cloudflare com Selenium e python é usar uma biblioteca conhecida como ChromeDriver não detectado. Você pode instalá-lo usando o

“pip instalar não detectado-chromedriver”

Este plug-in funciona apenas se você deseja conduzir/automatizar o Chrome. Atualmente, não há opções para automatizar outros navegadores. Se você tiver esta biblioteca instalada, tudo o que você precisa fazer é substituir a classe do navegador padrão no Selenium por esta e pronto.

Abaixo está um trecho de código mostrando como usar corretamente o Undetected ChromeDriver para ignorar o Cloudflare.

importar undetected_chromedriver como uc de selenium.webdriver.support.ui importar driver WebDriverWait = uc.Chrome(use_subprocess=True) wait = WebDriverWait(driver, 20) driver.get("https://rayobyte.com")

Usando apenas a biblioteca undetected-chromedriver, você verá que é capaz de evitar a detecção pela Cloudflare. Isso permitirá que você automatize suas tarefas ou até mesmo raspe a web em busca de dados sem problemas.


Lugar de Proxies para Ignorar Cloudflare

Lugar de Proxies para Ignorar Cloudflare

Se você observar o código acima, verá que não foram usados ​​proxies em todo o processo. Agora você começa a se perguntar se precisa de proxies para ignorar o Cloudflare. A razão para isso é simples - enviamos apenas uma solicitação. Se você precisar enviar apenas algumas solicitações, não precisará usar um proxy para fazer isso.

No entanto, se você enviar muitas solicitações como a maioria dos bots, precisará usar proxies.

Isso ocorre porque, como na maioria dos sistemas anti-bot, o rastreamento de IP ainda é uma das principais partes do serviço Cloudflare. E quando recebe muitas requisições de um mesmo IP, não importa se há pegada de bot ou não; esse IP será considerado suspeito e, como tal, outras solicitações serão bloqueadas.

Recomendamos que você use proxies residenciais para ignorar o Cloudflare. Alguns dos melhores provedores de proxy incluem Bright Data, Smartproxy e Soax. Se você não precisa manter sessões, usar proxies rotativos desses provedores é o melhor para ignorar o Cloudflare.


Perguntas Frequentes:

P. Os proxies protegem contra o bloqueio do Cloudflare?

Não eles não. Você pode ver alguns proxies se comercializando como proxies para contornar o Cloudflare. A realidade no terreno é o contrário. Os proxies sozinhos não irão protegê-lo contra o bloqueio do Cloudflare. Você precisa fazer uso de ferramentas que podem imitar navegadores de usuários comuns, e é aí que entra o ChromeDriver não detectado.

Os proxies são necessários quando você precisa enviar muitas solicitações via Cloudflare, e não usar proxies corre o risco de tropeçar no sistema de rastreamento e bloqueio de IP. Os proxies são necessários em muitos casos, mas não são as únicas ferramentas necessárias para evitar o desvio do Cloudflare.

P. Quão eficaz é o Cloudflare na prevenção de bots?

Se o site de destino tiver o Cloudflare protegendo-o, você realmente precisa se preocupar. Isso ocorre porque o Cloudflare tem alguns números interessantes que vão te assustar sem ao menos tentar contorná-los.

De acordo com os dados disponíveis, os sites protegidos pelo Cloudflare notam uma redução de 65% nas solicitações antes de configurar o Cloudflare. Este é um ótimo trabalho que a Cloudflare está fazendo aqui. Também ajuda os sites a carregar mais rapidamente e usar menos largura de banda. No entanto, com as técnicas e ferramentas certas, você ainda pode contorná-lo e torná-lo menos eficaz.

Sistemas anti-bot como o Cloudflare protegem sites contra ataques DDoS e outras formas de spam. Ignorá-los não é ilegal, mesmo que os sites os configurem para proteger seus sistemas e bancos de dados.

No entanto, o que você fizer depois de ignorá-los pode colocá-lo em problemas legais. Se você só precisa automatizar suas tarefas sem causar nenhum dano ao site, sobrecarregando-o com solicitações, ainda está dentro do quadro legal.

Não somos consultores jurídicos competentes e, como tal, recomendamos que você procure aconselhamento jurídico de profissionais competentes. Nada do que você ler aqui deve ser visto ou considerado como aconselhamento jurídico.


Conclusão

Como desenvolvedor de bot, sistemas anti-bot como Cloudflare são alguns dos pesadelos que você enfrentará, pois podem frustrá-lo. Isso é especialmente verdadeiro se você não tiver experiência em contorná-los.

Como iniciante, você pode pensar que usar o Selenium é uma saída fácil para você, pois o Selenium automatiza os navegadores e renderiza o JS.

No entanto, a Cloudflare parece ter obtido bots baseados em Selenium. Com a ajuda da ferramenta ChromeDriver não detectada descrita no artigo, você poderá contorná-la sem problemas.

Junte-se à conversa

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *