Maison  >  Article  >  développement back-end  >  Contourner le logiciel de détection de robots avec Selenium en Python

Contourner le logiciel de détection de robots avec Selenium en Python

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 18:06:02318parcourir

Bypassing Bot Detection Software with Selenium in Python

(Utilisez à vos propres risques, je ne tolère rien d'illégal)

Des sites Web tels qu'Amazon utilisent des logiciels de détection de robots tels que Imperva et FingerprintJS pour empêcher les outils automatisés d'interagir avec leur site Web. Et ils le font à juste titre pour empêcher les web scrapers et les pirates informatiques de voler leurs précieuses données.

S'ils savaient...

Ces contrôles de sécurité sont assez faciles à contourner si vous savez ce que vous faites.

Il existe plusieurs façons de contourner ces contrôles de sécurité :

  • Rotation des proxys
  • Utiliser des cookies
  • Rotation des agents utilisateurs et des en-têtes HTTP
  • Signatures Javascript à distance dans votre pilote Web (nous explorerons celle-ci bientôt ! ?)
  • Éviter les schémas lors de l'interaction avec des sites Web

Si vous utilisez Selenium et que vous êtes bloqué par un logiciel d'automatisation.

Il existe une petite astuce que nous pouvons mettre en œuvre et qui peut nous éviter d'avoir à configurer des proxys, des en-têtes ou des agents utilisateurs en rotation.

Désactiver l'indicateur d'automatisation du sélénium

Mais voici un autre moyen plus simple qui pourrait faire l'affaire : désactiver l'indicateur d'automatisation de Selenium.

Selenium a activé par défaut des indicateurs d'automatisation qui pourraient vous empêcher d'accéder à des sites Web à l'aide d'un logiciel anti-bot.

Pour contourner le blocage, vous devrez désactiver ces indicateurs d'automatisation dans votre code Selenium, voyons comment nous pouvons le faire en utilisant une simple ligne.

Tout d'abord, appelons la fonction webdriver.Chromeoptions() et instancions-la dans une variable appelée options.

Cela nous permet d'ajouter des options personnalisées à notre pilote Web :

options = webdriver.ChromeOptions

Maintenant, ajoutons l'option désactivant l'indicateur d'automatisation en ajoutant la ligne suivante à notre code Selenium :

options.add_argument("--disable-blink-features=AutomationControlled")

Cette simple ligne désactive l'indicateur d'automatisation et indique au site Web que vous n'êtes pas un robot.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn