Passer au contenu

Comment contourner la détection Cloudflare avec Selenium

Vous cherchez un moyen de contourner la détection de Cloudflare lors du codage de votre bot en Python ? Alors vous êtes sur la bonne page. L'article ci-dessous fournit un guide sur la façon de contourner Cloudflare en utilisant Python et Selenium.

robots Web, y compris racleurs Web, ont beaucoup évolué au fil des ans. Et avouons-le; les sites Web deviennent également plus intelligents à détection du trafic de robots. L'un des changeurs de jeu qui font transpirer les développeurs de bots est le Systèmes anti-bot Cloudflare.

Il agit comme un middleware ou un proxy entre les serveurs Web et le logiciel client. Si vous envoyez une requête Web, il devra vérifier qu'il ne s'agit pas d'un spam et qu'il est légitime avant de lui permettre de passer par votre site Web cible.

Les internautes réguliers éprouvent un peu de retard et obtiennent le "vérifier votre navigateur avant d'accéder à…." message à l'écran. Mais cela finira par passer. Cependant, si vous utilisez un bot, vous ne serez probablement pas autorisé à y accéder. Certains développeurs pensent que l'utilisation d'un automate de navigateur comme Selenium ferait aussi la magie pour eux.

Malheureusement, Cloudflare est également conçu pour les détecter. Alors, que faites-vous et comment faites-vous contourner la détection Cloudflare en tant que développeur de bot utilisant Python et Cloudflare ? Dans cet article, on vous montrera comment contourner la détection Cloudflare en utilisant Python et Selenium.


Un aperçu du sélénium

Présentation du sélénium

Le pilote Web Selenium est un automate de navigateur. Ce que vous en faites dépend de vous. Certains l'utilisent pour les tests de site, d'autres pour le botting et le scraping. C'est un outil polyvalent, car vous pouvez l'utiliser dans plusieurs langages de programmation populaires tels que Python, Java et NodeJS.

Il prend également en charge les navigateurs populaires tels que Chrome, Firefox, Edge et Internet Explorer. Nous nous concentrons ici sur son support Python. En Python, Selenium est l'outil principal pour botter et gratter les sites Web qui dépendent du rendu JavaScript. Les goûts de Scrapy, Requests et Beautifulsoup ne sont pas adaptés à cela.

Cependant, Selenium n'est efficace que contre les sites Web dotés de systèmes anti-spam de base. À l'aide de proxys, de la suppression des cookies, de la définition de délais aléatoires et de quelques autres méthodes, vous pouvez échapper à la détection et au blocage.

Mais lorsqu'un site Web est protégé par des systèmes anti-spam comme Cloudflare et Akamai, Selenium devient inefficace. En effet, il existe des pointeurs par défaut que les systèmes anti-spam utilisent pour détecter les robots dont dispose l'outil Selenium par défaut.


Comment contourner Cloudflare en utilisant Selenium et Python

Avec les bonnes étapes, Selenium peut facilement contourner Cloudflare. Avant d'aborder cela, examinons à quel point Cloudflare fonctionne bien dans la détection des bots codés avec Python et Selenium. Pour ce faire, nous allons coder un simple bot qui tente d'accéder rayobyte.com.

Présentation de Rayobyte

Rayobyte est un fournisseur de proxy protégé par Cloudflare. Si vous essayez d'y accéder avec un navigateur, votre navigateur doit être vérifié avant que l'accès ne vous soit accordé. Nous allons l'utiliser pour tester l'efficacité de Cloudflare, puis coder un autre bot qui intégrera des mesures pour le contourner.


Étape 1 : Installez les outils nécessaires

Pour que vous puissiez coder un bot en Python, vous devez avoir installé Python. Pour ce projet, vous devez également avoir installé Selenium.

  • Python

Présentation de Python

Pour la plupart des systèmes, Python est déjà installé. Cependant, la version installée est Python 2, qui est utilisée pour des raisons héritées. Vous devrez installer Python 3 pour utiliser Selenium. Visiter le page de téléchargement officielle de Python pour l'installer sur votre système. Il est disponible pour Windows, macOS et Linux. Pour vérifier si l'installation a été effectuée avec succès, exécutez la commande ci-dessous dans votre invite de commande.

"python-version"
  • Sélénium

Outils de sélénium

Le sélénium est un outil de mise en bouteille complet. Il automatise le navigateur, vous permettant d'accéder aux pages, de cliquer sur des boutons, de faire défiler et même de remplir des formulaires et d'effectuer toute action que vous pouvez effectuer manuellement. Selenium est un outil tiers.

Pour que cela fonctionne, vous devrez l'avoir installé, puis télécharger et placer le pilote spécifique pour le navigateur que vous souhaitez automatiser dans le chemin.

Pour ce guide, nous utiliserons Chrome car il s'agit du navigateur le plus populaire.

Pour installer Selenium, exécutez le

« pip installer sélénium »

commande dans l'invite de commande. Une fois le téléchargement terminé, vous pouvez maintenant visiter la page de téléchargement du pilote Web Chrome. C

Vérifiez la version de Chrome que vous avez et téléchargez le pilote spécifiquement pour votre version de Chrome. Si vous téléchargez celle d'une autre version, elle ne fonctionnera pas.

Une fois téléchargé, décompressez le contenu dans un dossier. Ce dossier sera le dossier de travail pour ce projet.


Étape 2 : Envoyer la demande au site Web sans astuce de contournement

Notre site Web cible est rayobyte.com. Nous coderons un script qui enverra une demande à ce site Web et verra la réponse que nous obtenons.

Ci-dessous le code. C'est assez simple. Celui qui nécessite plus de lignes de code est en fait celui avec le code pour contourner Cloudflare.

Utilisez le code ci-dessous dans votre Python IDLE préféré. Dans mon cas, j'utilise Pycharm, qui est actuellement le meilleur IDLE du marché - c'est cependant discutable. Le gros problème, c'est qu'il est payant.

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

Le code ci-dessus lancera le navigateur Chrome sur votre système et tentera d'accéder à la page d'accueil du site Web Rayobyte.

Cependant, au lieu d'accéder à la page, elle se contentera de boucler et de rester sur la page de vérification Cloudflare. Ci-dessous, une capture d'écran de ce à quoi ressemble la page.

Si vous vérifiez bien le code, vous verrez que je ne l'ai pas fermé. C'est pour me permettre de voir si cela finira par permettre à la page de se charger. Mais cela n'arrivera jamais. Vous devez fermer le navigateur automatisé.

Comme vous l'avez déjà vu, Selenium, à lui seul, ne peut pas être utilisé pour contourner Cloudflare. Si vous souhaitez contourner Cloudflare, vous devez utiliser quelques astuces. L'étape suivante vous montrera comment utiliser les mêmes Selenium et Python pour contourner Cloudflare.


Étape 3 : Utiliser le plugin pour contourner Cloudflare

utiliser le plugin pour contourner Cloudflare

Comme vous pouvez le voir ci-dessus, Cloudflare détecte les scripts Selenium en tant que bots. L'utilisation de proxys ne vous aidera pas dans ce cas. Vous avez besoin d'autres méthodes.

La meilleure façon de contourner Cloudflare avec Selenium et python est d'utiliser une bibliothèque connue sous le nom de ChromeDriver non détecté. Vous pouvez l'installer en utilisant le

"pip install un pilote chromé non détecté"

Ce plugin ne fonctionne que si vous souhaitez piloter/automatiser Chrome. Actuellement, il n'y a pas d'options pour automatiser d'autres navigateurs. Si vous avez installé cette bibliothèque, tout ce que vous avez à faire est de remplacer la classe de navigateur par défaut dans Selenium par celle-ci, et vous êtes prêt à partir.

Vous trouverez ci-dessous un extrait de code vous montrant comment utiliser correctement le ChromeDriver non détecté pour contourner Cloudflare.

importer undetected_chromedriver en tant qu'uc depuis selenium.webdriver.support.ui importer le pilote WebDriverWait = uc.Chrome(use_subprocess=True) attendre = WebDriverWait(driver, 20) driver.get("https://rayobyte.com")

En utilisant simplement la bibliothèque de pilotes chromés non détectés, vous verrez que vous pouvez échapper à la détection par Cloudflare. Cela vous permettra d'automatiser vos tâches ou même de rechercher des données sur le Web sans aucun problème.


Place des proxys pour contourner Cloudflare

Place des proxys pour contourner Cloudflare

Si vous regardez le code ci-dessus, vous verrez que les proxys n'ont pas été utilisés dans l'ensemble du processus. Vous commencez maintenant à vous demander si vous avez besoin de proxys pour contourner Cloudflare. La raison en est simple : nous n'envoyons qu'une seule demande. Si vous n'avez besoin d'envoyer que quelques requêtes, vous n'avez pas besoin d'utiliser un proxy pour le faire.

Cependant, si vous envoyez de nombreuses demandes comme le font la plupart des bots, vous devez utiliser des proxys.

En effet, comme pour la plupart des systèmes anti-bot, le suivi IP reste l'une des principales parties du service Cloudflare. Et lorsqu'il reçoit trop de requêtes de la même adresse IP, peu importe qu'il y ait ou non une empreinte de bot ; cette adresse IP sera considérée comme suspecte et, à ce titre, les demandes ultérieures seront bloquées.

Nous vous recommandons d'utiliser des proxys résidentiels pour contourner Cloudflare. Certains des meilleurs fournisseurs de proxy pour ceux-ci incluent Bright Data, Smartproxy et Soax. Si vous n'avez pas besoin de maintenir des sessions, l'utilisation de proxys rotatifs de ces fournisseurs est la meilleure solution pour contourner Cloudflare.


FAQ

Q. Les proxys protègent-ils contre le blocage de Cloudflare ?

Non, ils ne pas. Vous pourriez voir certains proxys se vendre comme des proxys pour contourner Cloudflare. La réalité sur le terrain est tout le contraire. Les proxys seuls ne vous protégeront pas contre le blocage de Cloudflare. Vous devez utiliser des outils qui peuvent imiter les navigateurs des utilisateurs habituels, et c'est là que l'utilisation du ChromeDriver non détecté entre en jeu.

Les proxys sont nécessaires lorsque vous devez envoyer de nombreuses requêtes via Cloudflare, et ne pas utiliser de proxys risque de déclencher leur système de suivi et de blocage IP. Les proxys sont nécessaires dans de nombreux cas, mais ce ne sont pas les seuls outils dont vous avez besoin pour échapper au contournement de Cloudflare.

Q. Quelle est l'efficacité de Cloudflare pour empêcher les bots ?

Si votre site Web cible est protégé par Cloudflare, vous devez vraiment vous inquiéter. En effet, Cloudflare a des chiffres intéressants qui vous feront peur sans même essayer de les contourner.

Selon les données disponibles, les sites Web protégés par Cloudflare constatent une réduction de 65 % des requêtes avant la mise en place de Cloudflare. C'est un excellent travail que Cloudflare fait là-bas. Cela aide également les sites Web à se charger plus rapidement et à utiliser moins de bande passante. Cependant, avec les bonnes techniques et les bons outils, vous pouvez toujours le contourner et le rendre moins efficace.

Les systèmes anti-bot comme Cloudflare protègent les sites Web des attaques DDoS et d'autres formes de spam. Les contourner n'est pas illégal, même si les sites Web les configurent pour protéger leurs systèmes et leurs bases de données.

Cependant, ce que vous faites après les avoir contournés pourrait vous causer des ennuis juridiques. Si vous avez seulement besoin d'automatiser vos tâches sans nuire au site Web en le submergeant de demandes, vous êtes toujours dans le cadre légal.

Nous ne sommes pas des conseillers juridiques compétents et, à ce titre, nous vous recommandons de demander des conseils juridiques à des praticiens compétents. Rien de ce que vous lisez ici ne doit être considéré ou considéré comme un avis juridique.


Conclusion

En tant que développeur de bot, les systèmes anti-bot comme Cloudflare font partie des cauchemars auxquels vous allez faire face, car ils peuvent vous frustrer. Cela est particulièrement vrai si vous n'avez pas l'expérience de les contourner.

En tant que débutant, vous pourriez penser que l'utilisation de Selenium est une solution facile pour vous puisque Selenium automatise les navigateurs et rend JS.

Cependant, Cloudflare semble avoir mis la main sur des bots basés sur Selenium. Avec l'aide de l'outil ChromeDriver non détecté décrit dans l'article, vous devriez pouvoir le contourner sans problème.

Prendre part à la conversation

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *