post-titre

Lorsque vous grattez des données sur des sites Web à grande échelle, il est fort probable que vous n'ayez pas eu à affronter un CAPTCHA pour prouver que vous êtes un humain. En tant que scraper web, vous savez peut-être déjà pourquoi les professionnels de la cybersécurité ont été contraints de les inventer. Ils étaient le résultat de l'automatisation par vos bots de demandes interminables de sites Web pour y accéder. Ainsi, même les utilisateurs authentiques ont dû affronter les CAPTCHA qui apparaissent sous différentes formes. Cependant, vous pouvez contourner les CAPTCHAs, que vous soyez un scraper web ou non, ce qui sera l'objectif de cet article. Mais d'abord, plongeons dans ce que sont les CAPTCHAs.

Contourner le CAPTCHA pour le Web Scraping

Les CAPTCHA sont généralement déclenchés pour détecter un trafic non naturel sur le site. Pour contourner cette restriction, les utilisateurs préfèrent une solution qui peut craquer tous ces codes CAPTCHA et accéder au site Web comme un véritable être humain. Capsolver est une solution qui permet de contourner les captchas. L'utilisation de proxys avec les requêtes web aidera également les utilisateurs à apparaître comme un trafic naturel. 

Qu'est-ce qu'un CAPTCHA ?

CAPTCHA est l'acronyme de Completely Automated Public Turing Test to tell Computers and Humans Apart. C'est un acronyme assez long, n'est-ce pas ? Vous vous demandez peut-être ce que signifie la dernière partie de cet acronyme, le test de Turing. Il s'agit d'un test simple permettant de déterminer si un humain ou un robot interagit avec une page Web ou un serveur Web.

Après tout, un CAPTCHA différencie les humains des robots, ce qui aide les analystes en cybersécurité à protéger les serveurs Web contre les attaques par force brute, les attaques DDoS et, dans certains cas, le raclage de sites Web. 

Voyons comment les CAPTCHA différencient les humains des robots.

Comment fonctionnent les CAPTCHA ?

Vous pouvez trouver les CAPTCHA dans les formulaires d'un site Web, notamment les formulaires de contact, d'enregistrement, de commentaires, d'inscription ou de paiement.

Les CAPTCHA traditionnels comprennent une image avec des lettres ou des chiffres étirés ou flous, ou les deux, dans un cadre avec une couleur de fond ou un fond transparent. Vous devez ensuite identifier les caractères et les saisir dans le champ de texte qui suit. Ce processus d'identification des caractères est plus facile pour les humains mais quelque peu compliqué pour un robot.

L'idée de brouiller ou de déformer le texte du CAPTCHA est de rendre plus difficile l'identification des caractères par le robot. En revanche, les êtres humains sont capables d'interpréter et d'intercepter des caractères sous différents formats, tels que des polices différentes, une écriture manuscrite, etc. Cela dit, tous les humains ne parviennent pas à résoudre un CAPTCHA du premier coup. Selon une étude, 8 % des utilisateurs font des fautes de frappe lors de leur première tentative, tandis que 29 % échouent si les CAPTCHAs sont sensibles à la casse.

D'autre part, certains robots avancés peuvent intercepter des lettres déformées avec l'aide de l'apprentissage automatique au fil des ans. Par conséquent, certaines entreprises, comme Google, ont remplacé les CAPTCHA classiques par des CAPTCHA sophistiqués. Un tel exemple est ReCAPTCHA que vous découvrirez dans la section suivante.

Qu'est-ce qu'un ReCAPTCHA ?

ReCAPTCHA est un service gratuit proposé par Google. Il demande aux utilisateurs de cocher des cases plutôt que de taper du texte, de résoudre des énigmes ou des équations mathématiques.

Un ReCAPTCHA typique est plus avancé que les formes conventionnelles de CAPTCHA. Il utilise des images et des textes du monde réel, tels que des feux de signalisation dans les rues, des textes de vieux journaux et des livres imprimés. Par conséquent, les utilisateurs n'ont pas à se fier aux CAPTCHA de la vieille école dont le texte est flou et déformé.

 Contourner les CAPTCHAs et ReCAPTCHAs

Comment fonctionnent les ReCAPTCHAs ?

Il existe trois grands types de tests ReCAPTCHA permettant de vérifier si vous êtes un être humain ou non :

Case à cocher

Il s'agit des ReCAPTCHA qui demandent aux utilisateurs de cocher la case "Je ne suis pas un robot", comme dans l'image ci-dessus. Bien qu'il puisse sembler à l'œil nu que même un robot puisse réussir ce test, plusieurs facteurs sont pris en compte :

  • Ce test étudie les mouvements de la souris de l'utilisateur lorsqu'il s'approche de la case à cocher.
  • Les mouvements de la souris d'un utilisateur ne sont pas rectilignes, y compris la plupart des mouvements directs de la souris. Il est difficile pour un robot d'imiter le même comportement.
  • Enfin, le ReCAPTCHA inspecterait les cookies que votre navigateur stocke.

Si le ReCAPTCHA ne parvient pas à vérifier que vous êtes un être humain, il vous présentera un autre défi.

Reconnaissance d'images

Ces ReCAPTCHAs proposent aux utilisateurs neuf ou seize images carrées, comme vous pouvez le voir dans l'image ci-dessus. Chaque carré représente une partie d'une image plus grande ou différentes images. L'utilisateur doit sélectionner des carrés représentant des objets spécifiques, des animaux, des arbres, des véhicules ou des feux de signalisation.

Si la sélection de l'utilisateur correspond aux sélections des autres utilisateurs qui ont effectué le même test, l'utilisateur est vérifié. Dans le cas contraire, le ReCAPTCHA présente un test plus difficile.

Aucune interaction

Saviez-vous que ReCAPTCHA peut vérifier si vous êtes un humain ou non sans utiliser de cases à cocher ou d'interactions avec l'utilisateur ?

Il le fait certainement en tenant compte de l'historique des interactions de l'utilisateur avec les sites Web et de son comportement général en ligne. Dans la plupart des cas, sur la base de ces facteurs, le système est en mesure de déterminer si vous êtes un bot.

Si ce n'est pas le cas, on reviendra à l'une des deux méthodes mentionnées précédemment.

Qu'est-ce qui déclenche les CAPTCHAs et ReCAPTCHAs ?

Les CAPTCHA peuvent être déclenchés si un site Web détecte des activités inhabituelles ressemblant au comportement d'un robot. Ces comportements inhabituels comprennent des demandes illimitées en quelques secondes et des clics sur des liens à un rythme bien plus élevé que celui des humains. 

Certains sites web auraient alors automatiquement mis en place des CAPTCHA pour protéger leurs systèmes.

En ce qui concerne les ReCAPTCHAs, on ne sait pas exactement ce qui les déclenche. Toutefois, les causes générales sont les mouvements de la souris, l'historique de navigation et le suivi des cookies.

Ce qu'il faut savoir sur la façon de contourner les CAPTCHAs lors de la collecte de données sur le Web.

Vous avez maintenant un aperçu clair de ce que sont les CAPTCHAs et les Rechaptchas, de leur fonctionnement et de ce qui les déclenche. Il est maintenant temps d'examiner comment les CAPTCHAs affectent le web scraping.

Les CAPTCHA peuvent entraver le grattage du Web, car ce sont des robots automatisés qui effectuent la plupart des opérations de grattage. Cependant, ne vous découragez pas. Comme nous l'avons mentionné au début de cet article, il existe des moyens de surmonter les CAPTCHAs lors du scraping du web. Avant de les aborder, concentrons-nous sur ce que vous devez savoir avant de procéder au scrapping.

Envoi de trop de requêtes au site web cible

Tout d'abord, vous devez vous assurer que vous ne permettez pas à votre scraper/crawler d'envoyer trop de requêtes sur une courte période. La plupart des sites Web indiquent dans leurs pages de conditions générales le nombre de requêtes qu'ils autorisent. Assurez-vous de les lire avant de commencer le scrapping.

En-têtes HTTP

Lorsque vous vous connectez à un site web, vous envoyez des informations sur votre appareil au site web de connexion. Il peut utiliser ces informations pour personnaliser le contenu en fonction des spécifications de votre appareil et du suivi métrique. Ainsi, lorsqu'ils s'aperçoivent que les demandes proviennent du même appareil, toute demande que vous envoyez par la suite est bloquée.

Ainsi, si vous avez développé vous-même le scraper/crawler Web, vous pourrez modifier les informations d'en-tête pour chaque requête effectuée par votre scraper. Le site Web cible aura alors l'impression de recevoir plusieurs requêtes provenant de différents appareils. Pour plus d'informations sur les en-têtes HTTP, cliquez ici .

Adresse IP

Un autre fait dont vous devez être conscient est que le site web cible n'a pas mis votre adresse IP sur liste noire. Il est probable que votre adresse IP sera mise sur liste noire si vous envoyez trop de requêtes avec votre scraper/crawler. 

Pour résoudre ce problème, vous pouvez utiliser un serveur proxy, qui masque votre adresse IP. 

La rotation des en-têtes HTTP et de proxys (plus d'informations à ce sujet dans la section suivante) avec un pool garantira que plusieurs appareils accèdent au site web à partir de différents endroits. Vous devriez donc être en mesure de poursuivre le scraping sans être interrompu par les CAPTCHA. Cela dit, vous devez vous assurer que vous ne nuisez pas aux performances du site web de quelque manière que ce soit.

Cependant, vous devez noter que proxys ne vous aidera pas à surmonter les CAPTCHAs dans les formulaires d'enregistrement, de changement de mot de passe, de paiement, etc. Il ne peut que vous aider à surmonter les captures que les sites Web déclenchent en raison du comportement des robots. Pour éviter les CAPTCHA dans de tels formulaires, nous examinerons les résolveurs de CAPTCHA dans une prochaine section.

Autres types de CAPTCHAs

En plus des facteurs clés ci-dessus, vous devez connaître les CAPTCHAs ci-dessous lorsque vous faites du web scraping avec un robot :

Honeypots - Le Honeypot est un type de CAPTCHA inclus dans un champ de formulaire HTML ou un lien, mais sa visibilité est masquée par le CSS. Ainsi, lorsqu'un bot interagit avec cet élément, il se signale inévitablement comme étant un bot. Ainsi, avant de faire en sorte que votre robot scrape le contenu, assurez-vous que les propriétés CSS de l'élément sont visibles.

Contourner les captchas

Word/Match CAPTCHA - Ce sont les CAPTCHAs des équations mathématiques comme la résolution de "3+7", par exemple. Il peut aussi y avoir des énigmes de mots à résoudre.

Connexion aux médias sociaux - Certains sites Web vous demandent de vous connecter avec votre compte Facebook, par exemple. Cependant, ils ne sont pas très populaires car la plupart des administrateurs savent que les gens hésiteraient à se connecter avec leurs comptes de médias sociaux.

Suivi du temps -Ces CAPTCHA contrôlent la vitesse à laquelle vous effectuez une action spécifique, comme remplir un formulaire, afin de déterminer s'il s'agit d'un humain ou d'un robot.

Comment contourner les CAPTCHAs pour le Web Scraping ?

Comment contourner les CAPTCA - 5 étapes simples

Rotation de proxys et utilisation d'adresses IP de qualité

Comme indiqué dans la section précédente, vous devez alterner proxys chaque fois que vous envoyez une requête au site web cible. C'est une façon d'éviter les CAPTCHAs qui se déclenchent pendant que vous scrapez. Dans ces circonstances, vous devez utiliser des adresses IP résidentielles propres proxys.

Lorsque vous faites pivoter le site proxys, il est difficile pour le site web cible de déterminer votre empreinte IP. En effet, pour chaque requête, c'est l'adresse IP de proxysqui apparaît et non la vôtre.

Rotation des agents utilisateurs

Étant donné que vous utiliserez un scraper pour le web, vous devrez déguiser l'agent utilisateur en un navigateur web populaire ou en robots pris en charge, tels que les robots des moteurs de recherche, que les sites web reconnaissent.

Il ne suffira pas de changer l'agent utilisateur, car vous devrez disposer d'une liste de chaînes d'agents utilisateurs et les faire tourner. Cette rotation aura pour effet que le site Web cible vous verra comme un appareil différent alors qu'en réalité, un seul appareil envoie toutes les demandes.

Comme meilleure pratique pour cette étape, il serait bon de conserver une base de données des agents utilisateurs réels. De même, supprimez les cookies lorsque vous n'en avez plus besoin.

Services de résolution de CAPTCHA

Une méthode moins technique et plus directe pour résoudre un CAPTCHA serait d'utiliser un service de résolution de CAPTCHA. Ils utilisent l'intelligence artificielle (IA), l'apprentissage automatique (MI) et un ensemble d'autres technologies pour résoudre un CAPTCHA.

Capsolver et Anti-CAPTCHA sont quelques-uns des principaux solveurs de CAPTCHA existant actuellement dans l'industrie.

Si vous laissez votre scraper accéder directement à une URL à chaque fraction de seconde, le site Web récepteur se méfiera. Par conséquent, le site Web cible déclenchera un CAPTCHA.

Pour éviter ce genre de scénario, vous pouvez définir l'en-tête de référence de manière à ce que le site semble provenir d'une autre page. Cela réduirait la probabilité d'être détecté comme un robot. Vous pouvez également faire en sorte que le robot visite d'autres pages avant de consulter le lien souhaité.

Évitez les pots de miel

Les pots de miel sont des éléments cachés sur une page web que les experts en sécurité utilisent pour piéger les bots ou les intrus. Bien que le navigateur rende son HTML, ses propriétés CSS sont configurées pour être masquées. Cependant, contrairement aux humains, le code du pot de miel serait visible pour les robots lorsqu'ils grattent les données. Par conséquent, ils sont tombés dans le piège tendu par le pot de miel.

Vous devez donc vous assurer que les propriétés CSS de tous les éléments d'une page Web ne sont pas cachées ou invisibles avant de commencer le scraping. Ce n'est que lorsque vous êtes certain qu'aucun des éléments n'est caché que vous configurez votre robot pour le scraping.

Questions fréquemment posées

1. Que signifie le contournement des CAPTCHA pour le Web Scraping ?

Le contournement des CAPTCHAs consiste simplement à supprimer les blocages qui surviennent lors de l'extraction de données de nombreux sites. Les CAPTCHAs sont conçus pour vérifier si le trafic web est organique. 

2. Qu'est-ce que ReCaptcha ?

ReCaptcha protège vos sites Web contre les spams et le trafic de robots malveillants. Il génère des puzzles interactifs pour différencier le trafic organique du trafic de robots.  

3. Comment un proxy aidera-t-il les utilisateurs à contourner les Captchas ?

Lorsque vous envoyez des requêtes web dans le sens inverse à partir d'un robot ou d'une solution de scraping, les CAPTCHAs peuvent facilement identifier le trafic provenant d'un robot spammeur. Ainsi, l'utilisation d'adresses proxy à partir d'un proxy vous permettra d'apparaître davantage comme un trafic en temps réel. 

Conclusion

Cet article vous aura donné une idée complète de la manière d'éviter les CAPTCHA lors de l'exploration du Web. Éviter un CAPTCHA peut être un processus compliqué. Cependant, en utilisant les techniques spécifiques présentées dans cet article, vous pouvez développer le robot de manière à éviter les CAPTCHA.

Nous espérons que vous utiliserez toutes les techniques abordées dans cet article.