Maison  >  Article  >  développement back-end  >  Comment identifier le robot d'exploration Python

Comment identifier le robot d'exploration Python

silencement
silencementoriginal
2019-05-22 18:03:225024parcourir

Comment identifier le robot d'exploration Python

1. Saisissez le code de vérification

Ce type de code de vérification est principalement transmis par l'utilisateur saisit les lettres, chiffres, caractères chinois, etc. dans l'image pour vérification. Comme indiqué ci-dessous

Comment identifier le robot dexploration Python


Solution : C'est la plus simple, à condition de vous identifier. Alors remplissez le contenu à l’intérieur de la zone de saisie. Cette technologie de reconnaissance s’appelle OCR. Nous vous recommandons ici d’utiliser la bibliothèque tierce de Python, tesserocr. Pour le code de vérification sans aucune influence de fond, comme le montre la figure 2, vous pouvez l'identifier directement via cette bibliothèque. Cependant, pour les codes de vérification avec des arrière-plans bruyants, le taux de reconnaissance directe sera très faible. Lorsque nous rencontrons ce genre de situation, nous devons d'abord traiter l'image, mettre d'abord l'image en niveaux de gris, puis la binariser, puis la reconnaître, afin que le résultat soit obtenu. le taux de reconnaissance sera grandement amélioré.

2. Code de vérification coulissant

Comment identifier le robot dexploration Python

Solution : ce type de code de vérification est un peu plus compliqué, mais il existe des méthodes correspondantes. Ce à quoi nous pensons directement, c'est de simuler le comportement d'une personne faisant glisser le code de vérification, de cliquer sur le bouton, puis de voir l'emplacement de l'espace, et enfin de faire glisser le puzzle vers l'emplacement de l'espace pour terminer la vérification.

Étape 1 : Cliquez sur le bouton. Ensuite, nous avons constaté que l'espace et le puzzle n'apparaissaient pas lorsque vous ne cliquiez pas sur le bouton, mais apparaissaient après avoir cliqué dessus. Cela nous a inspiré pour trouver l'emplacement de l'espace.

Étape 2 : faites glisser jusqu'à la position d'espacement. On sait que le puzzle doit être traîné jusqu'à la brèche, mais si cette distance était exprimée en valeurs numériques ? Grâce au phénomène que nous avons observé dans la première étape, nous pouvons trouver l'emplacement de l'écart. Ici, nous pouvons comparer les pixels des deux images et définir une valeur de référence. Si la différence à une certaine position dépasse la valeur de référence, alors nous avons trouvé les différentes positions des deux images. Bien sûr, nous commençons par le côté droit de l'image. le puzzle. Commencez par le côté et allez de gauche à droite, et terminez lorsque vous trouvez la première position différente. Cette position doit être à gauche de l'espace, afin que nous puissions utiliser du sélénium pour faire glisser vers cette position. Une autre question ici est de savoir comment enregistrer automatiquement ces deux images ? Ici, nous pouvons d'abord trouver l'étiquette, puis obtenir son emplacement et sa taille, puis haut, bas, gauche, droite = emplacement['y'], emplacement['y']+taille['hauteur']+ emplacement['x ' ] + size['width'] , puis prenez une capture d'écran, et enfin découpez l'image et remplissez ces quatre positions. Pour une utilisation spécifique, vous pouvez consulter la documentation sur Selenium. Découpez une image avant de cliquer sur le bouton, puis découpez une image après avoir cliqué sur le bouton. Lorsque vous faites glisser à la fin, vous devez simuler le comportement humain, en accélérant d'abord puis en décélérant. Étant donné que ce type de code de vérification a une détection des caractéristiques comportementales, il est impossible pour une personne de maintenir une vitesse constante, sinon il sera jugé comme une machine qui traîne, il ne passera donc pas la vérification.

Recommandations d'apprentissage associées : Tutoriel Python

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