Envie de faire du web scraping comme les grands groupes (2021)
(incolumitas.com)Here is a summary of the key points from the article in Korean, formatted as a markdown bullet list:
Mettre en place une infrastructure de scraping à grande échelle
- Utilisation d’AWS Lambda pour exécuter Headless Chrome et scraper des millions de SERP Google par semaine
- En invoquant la fonction Lambda 3 fois, il est possible d’obtenir une nouvelle IP publique
- En invoquant 1 000 fonctions Lambda simultanément, on peut utiliser environ 250 IP publiques
- Avec 16 régions, il est possible d’utiliser environ 4 000 adresses IP publiques
- Mais cette méthode ne fonctionne que sur des sites comme Google, Bing ou Amazon. Elle ne fonctionne pas sur les sites qui utilisent des solutions anti-bot comme DataDome, Akamai ou Imperva
- Les solutions anti-bot utilisent diverses techniques comme le fingerprinting du navigateur, la détection de mensonge et l’identification de comportements différents de ceux d’un humain
- S’il est difficile d’échapper à la détection des bots, c’est parce qu’ils tournent le plus souvent dans le cloud avec Docker ou Kubernetes
Proposition d’une infrastructure de scraping scalable et difficile à détecter
- Achat de 500 appareils Android bon marché auprès de 5 fabricants
- Utilisation de forfaits data à bas coût, contrôle des appareils avec DeviceFarmer/stf
- Déploiement de 100 appareils dans chacune de 5 grandes villes : Londres, Paris, Boston, Francfort et Los Angeles
- Installation d’Android Go allégé, puis activation/désactivation du mode avion toutes les 5 minutes pour changer d’adresse IP
- Les IP mobiles 4G/5G/LTE sont impossibles à bloquer. Comme elles sont partagées par de nombreux utilisateurs, même Instagram ne peut pas bloquer 200 000 personnes à Los Angeles
- Il faut manipuler au niveau du noyau des événements comme l’orientation et les mouvements de l’appareil
Amélioration : émulation Android
- Utilisation d’émulateurs comme Android-x86 sur VirtualBox, Bluestacks ou Android Studio
- Mais il existe de nombreuses techniques de détection de l’émulation (red pill côté navigateur, scan de port adb, détection de l’ID publicitaire, détection de connexion via réseau social, etc.)
- Connexion de dongles 4G directement au serveur pour les utiliser depuis les émulateurs Android
- Déploiement, dans chacune des 5 grandes villes, d’un serveur de scraping puissant connecté à 50 dongles
- Exécution de 50 à 100 émulateurs Android sur chaque serveur
- Coordination des 5 stations de scraping via un simple serveur de commande
Avis de GN⁺
- L’utilisation d’appareils physiques semble avoir un coût de gestion élevé et des limites en matière de scalabilité. L’usage d’émulateurs paraît être une alternative réaliste.
- Mais les techniques de détection des émulateurs continuent elles aussi d’évoluer, si bien qu’utiliser simplement un émulateur ne semble pas garantir la sécurité. Des mises à jour et améliorations continues seront nécessaires.
- L’utilisation d’IP mobiles 4G/5G est une bonne idée. Toutefois, on ne peut pas exclure la possibilité que les opérateurs bloquent certains appareils ou ajustent les forfaits.
- Au-delà du fait d’éviter les IP de datacenter, reproduire des schémas de comportement proches de ceux d’un humain semble aussi aider à éviter la détection des bots. Au lieu d’une collecte massive automatisée, il peut être pertinent d’envisager une collecte lente avec une concurrence limitée.
- Il peut aussi être utile d’envisager des navigateurs anti-détection commerciaux comme Multilogin ou GoLogin. Il faut toutefois tenir compte du coût des licences.
Aucun commentaire pour le moment.