Quand les crawlers rencontrent les CAPTCHA : pourquoi votre IP est-elle toujours reconnue ?
Les amis qui ont fait de la collecte de données savent à quel point le mécanisme anti-escalade du site web est maintenant pervers. Hier, le script pouvait encore fonctionner normalement, aujourd'hui l'IP est soudainement bloquée, le CAPTCHA de saut est considéré comme léger, le blocage direct du compte est sérieux. La solution traditionnelle consiste soit à faire tourner l'IP avec un serveur fixe, mais le coût d'exploitation et de maintenance est si élevé qu'il est effrayant ; soit à acheter un proxy partagé sur le marché, le résultat étant que le pool d'IP est plein d'IP sales d'autres personnes avec de mauvaises.
Voici une découverte contre-intuitive :Les adresses IP sont bloquées non seulement en raison de la fréquence des visites, mais aussi en raison de caractéristiques comportementales identifiées par des modèles d'apprentissage automatique.Le système analyse toutes les dimensions de la trajectoire de la souris et les empreintes digitales SSL. Tout comme les humains peuvent reconnaître des connaissances à leur posture de marche, un système de contrôle des risques des sites web analysera plus de 20 dimensions telles que la trajectoire de la souris, les intervalles entre les requêtes, les empreintes digitales SSL, etc. À l'heure actuelle, si vous utilisez AWS Lambda, une architecture sans serveur, avec l'IP résidentielle dynamique d'ipipgo, vous pouvez jouer une opération émeutière.
La combinaison en or de Lambda + Proxy IP
AWS Lambda attribue de nouvelles IP à chaque fois qu'il exécute une tâche, mais le problème est que ces segments d'IP sont depuis longtemps signalés comme des IP de nuage par les principaux sites web.Agents immobilierspour jouer le match :
Programmes traditionnels | Programme Lambda+ipipgo |
---|---|
IP du serveur fixe | Changement automatique d'adresse IP sur demande |
Changement manuel d'agents | Le programme appelle automatiquement l'API |
Réutilisation élevée de la propriété intellectuelle | La PI résidentielle s'éteint |
Plus précisément, le crawler est décomposé en plusieurs microfonctions. Lorsque chaque instance Lambda démarre, elle obtient un proxy exclusif via l'API d'ipipgo, et le cycle de vie d'une IP unique est contrôlé pour être de 3 à 5 minutes. Cela présente deux avantages : éviter la surchauffe des IP et utiliser l'expansion et la contraction automatiques de Lambda pour faire face à un trafic inattendu.
Guide pratique pour éviter la fosse
Ne vous contentez jamais d'acheter un service de proxy prêt à l'emploi et de l'intégrer à Lambda, voici quelques leçons de sang :
1. Le maintien de la conversation est essentiel: Certains sites ont besoin de maintenir la session en vie, il est donc temps de garder la fonction Lambda et le proxy ipipgo liés pendant au moins 10 minutes, où leur fonction de connexion à vie longue est utile !
2. Ne vous précipitez pas sur la géographie.Les problèmes d'accès à l'Internet : utiliser une IP américaine le matin pour couper le Japon l'après-midi, n'importe quel imbécile sait qu'il y a un problème. Suggérer de verrouiller ipipgo à un nœud de ville spécifique basé sur le type de tâche pendant l'initialisation Lambda.
3. Déguisement de l'empreinte digitale TLSLe modèle d'empreinte TLS par défaut de Lambda est facile à reconnaître, mais n'oubliez pas d'utiliser un environnement d'exécution personnalisé avec le modèle d'empreinte du navigateur fourni par ipipgo !
3 questions que vous pouvez vous poser
Q : Lambda a un quota libre, va-t-il dépasser le budget ?
R : Le coût d'un million de requêtes est inférieur à 50 $ par mois, ce qui est beaucoup moins cher que de maintenir un serveur. Le modèle de facturation à l'utilisation d'ipipgo correspond parfaitement à Lambda, de sorte que vous pouvez en utiliser autant que vous le souhaitez.
Q : Les agents résidentiels seront-ils lents ?
R : Il a été testé que le délai peut être contrôlé dans les 200 ms par des nœuds de transit optimisés par l'ipipgo. La clé est d'activer leur fonction de routage intelligent pour éviter automatiquement les routes encombrées.
Q : Y a-t-il des changements importants à apporter au code du crawler existant ?
R : Le principal point de modification se situe dans le module d'appel IP, en remplaçant la configuration originale du proxy par l'interface API d'ipipgo. Ils fournissent un SDK prêt à l'emploi, 20 lignes de code peuvent être faites pour intégrer l'API d'ipipgo.
Pourquoi ipipgo ?
Il existe de nombreux fournisseurs de services proxy sur le marché, mais peu d'entre eux sont adaptés à l'architecture sans serveur. ipipgo propose trois brosses particulièrement adaptées :
- Piscine résidentielle dynamique: Un véritable haut débit à domicile dans 85 pays, de nouvelles adresses IP inutilisées à chaque fois que vous l'obtenez.
- Accès sans configurationL'API renvoie des chaînes de proxy prêtes à l'emploi, qui peuvent être envoyées directement à la bibliothèque de requêtes.
- Mécanisme de fusion anormalLorsqu'une IP déclenche le CAPTCHA, le système fusionne automatiquement et réapprovisionne de nouvelles IP.
Ils ont récemment été mis en ligneCanal dédié LambdaIl réduit également le délai des appels à l'API en générant au préalable des pools de serveurs mandataires. Le test réel de la collecte de données du double vol de onze, 48 heures consécutives de blocage zéro, a permis d'économiser le coût de la main-d'œuvre de trois programmeurs.
Le plus clinquant dans cette solution, c'est qu'elle bénéficie de l'élasticité et de l'évolutivité d'une architecture sans serveur tout en conservant les caractéristiques comportementales des vrais utilisateurs. La prochaine fois que vous rencontrerez un CAPTCHA pervers, essayez ce combo et vous pourriez être agréablement surpris (bien sûr, ne venez pas me voir si vous êtes bloqué, la tête du chien protège votre vie).