Un excellent moyen de créer des ensembles de données consiste à gratter le Web. Cela devient particulièrement pertinent lorsque des sources telles que Common Crawl ou des API officielles ne répondent pas aux exigences de votre projet (par exemple, les données ne sont pas assez récentes ou Twitter vous dépasse). Cependant, le web scraping comporte ses propres défis comme les CAPTCHA et les géo-restrictions. C'est là que notre héros - les mandataires - entre en scène.
Un serveur proxy est un autre ordinateur (un serveur, un téléphone ou même un appareil IoT) qui vous permet d'accéder au Web par lui-même. De cette façon, vous obtenez une nouvelle adresse IP à partir d'un emplacement éventuellement différent. Les proxys ressemblent beaucoup aux VPN - la différence est que vous pouvez en utiliser plusieurs à la fois au lieu d'une ou deux connexions.
Les serveurs proxy deviennent de plus en plus nécessaires à mesure que les sites Web implémentent des limitations de débit et des restrictions plus sophistiquées pour empêcher l'accès automatisé. Parfois, pour de bonnes raisons, mais souvent pour protéger leurs intérêts commerciaux ou monopoliser les données. Les proxys ne résoudront pas tous vos problèmes ; mais en dehors de l'hygiène de base, comme l'utilisation d'agents utilisateurs réalistes, ils constituent le moyen le plus efficace de faire fonctionner votre grattoir Web.
Ce guide vous donnera une solide compréhension des serveurs proxy dans le contexte du web scraping. Il contient des connaissances théoriques ainsi que des données pratiques que nous avons collectées pour notre étude de marché annuelle par procuration .
Lorsque les scrapers Web (les personnes) rencontrent un besoin de proxy, leur première impulsion est d'essayer une liste de proxy gratuite. Ces listes sont accessibles au public en ligne ; la plupart des proxys qu'ils contiennent proviennent de serveurs vulnérables ou mal gérés.
Un gros problème avec les listes de proxy gratuites est que vous ne savez jamais qui les gère. L'opérateur peut avoir des intentions malveillantes, qui peuvent se manifester par l'injection de publicités, l'enregistrement du trafic et d'autres choses désagréables. Cela semble effrayant, mais il est peu probable que cela vous affecte beaucoup en tant que data scientist : vous ne configurerez probablement pas de proxys au niveau du système d'exploitation ou ne les utiliserez pas pour accéder à votre compte bancaire.
Un problème plus ennuyeux – bien que réaliste – est que les proxys gratuits ne sont tout simplement pas fiables.
Ils restent rarement en ligne longtemps ; ceux qui fonctionnent sont insupportablement lents parce qu'ils ont des centaines de locataires ; et parce qu'ils ont des centaines de locataires, ces mandataires se démarquent très rapidement de tout site Web pertinent. Pas un excellent outil pour travailler.
Pour cette raison, je recommande fortement de payer pour un service de proxy commercial.
Les serveurs proxy sont le plus souvent classés en fonction de la source IP. À des fins de grattage Web, vous choisirez très probablement entre trois types : les proxys de centre de données, résidentiels ou FAI (également appelés statiques résidentiels).
Ces proxys sont hébergés sur des serveurs dans des centres de données. Il peut s'agir d'instances d'Amazon Cloud Services (AWS) ou de tout autre fournisseur d'hébergement cloud. Les bases de données IP considèrent les proxys de datacenter comme appartenant à des gammes d'hébergement ou de datacenter .
Les proxys de centre de données fonctionnent généralement sur un matériel puissant et une connexion Internet, ce qui vous permet de récupérer rapidement une grande quantité de données. Ils peuvent être un choix très efficace pour les cibles qui ne surveillent pas la réputation IP mais qui ont du mal avec les sites Web qui le font.
Ces procurations proviennent des appareils résidentiels de personnes réelles (d'où le nom). Par exemple, ils peuvent fonctionner sur un ordinateur portable Windows, un téléphone Android ou un réfrigérateur intelligent en Wi-Fi. Les bases de données IP classent les proxies résidentiels en connexions fixes ou mobiles .
Les procurations résidentielles viennent toujours dans de grands pools d'adresses du monde entier. Elles sont moins prévisibles que les adresses IP des centres de données, car elles dépendent de la qualité de la connexion et de la disponibilité du périphérique hôte. Cependant, cette fonctionnalité même rend les proxys résidentiels très efficaces avec toutes sortes de sites Web, car ils ressemblent à des visiteurs réguliers.
Ces proxys sont hébergés sur des serveurs dans des centres de données mais enregistrés auprès de fournisseurs de services Internet grand public tels que Verizon. Ceci est réalisé en signant un contrat avec un FAI et en lui faisant annoncer les adresses IP sur son réseau. Idéalement, les bases de données IP devraient identifier ces proxys comme des connexions fixes ou mobiles . Parfois, cependant, les petits FAI régionaux sont toujours classés comme centres de données.
Les proxys ISP conservent les qualités des proxys de datacenter mais sont capables de scraper plus efficacement grâce à une meilleure réputation IP.
À ce stade, vous pensez peut-être : « Woah, attendez une minute ! Téléphones Android ? Cela ressemble terriblement à un botnet ! Est-ce même légal ? C'est une bonne question à poser, et cela montre que vous vous en souciez. Beaucoup ne le font pas.
Le fait est qu'il y a une ligne fine entre un serveur proxy commercial et un botnet. Cela s'applique moins aux proxys de centre de données où la chaîne d'approvisionnement est assez claire : un hôte cloud achète des adresses IP, les place sur un serveur et loue les adresses à un fournisseur de proxy. Mais la question de l'éthique devient très pertinente avec les réseaux de proxy résidentiels.
Sans trop approfondir le sujet, les proxys résidentiels peuvent être obtenus de plusieurs manières. La méthode la plus populaire consiste à utiliser les SDK dans les applications de bureau et mobiles. Cette vidéo donne des exemples concrets de ce à quoi cela ressemble.
Une autre façon consiste à échanger du trafic directement contre un service (comme un VPN gratuit, voir BrightVPN) ou de l'argent (en utilisant des applications de partage de bande passante comme Honeygain).
Dans tous les cas, il incombe au fournisseur de proxy de s'assurer que la source IP est au courant de l'arrangement et y consent. Vous devriez pouvoir trouver des informations sur les approches d'approvisionnement et d'utilisation des proxys sur le site Web du fournisseur. Cela réduit considérablement le risque que vous utilisiez un botnet.
Les serveurs proxy peuvent avoir différentes configurations en fonction de la location et de la rotation .
Le premier critère décrit combien de personnes peuvent utiliser le même serveur proxy à la fois. Toutes les listes de proxy gratuites ont potentiellement des centaines de locataires, tandis que les fournisseurs de proxy commerciaux imposent des limites. Dans le jargon du marché, partagé ou semi-partagé signifie que vous utiliserez le même serveur proxy avec plusieurs autres personnes (souvent une à quatre). Privé ou dédié signifie que vous seul utiliserez les proxys pour tous ou certains domaines.
La possibilité de choisir la location est une caractéristique des proxys de centre de données et de FAI, car les fournisseurs en ont la pleine propriété. Il n'est pas disponible avec les proxys résidentiels, mais aussi moins pertinent - les utilisateurs résidentiels ont des habitudes de navigation plus naturelles et sont moins susceptibles de surcharger les sites Web de demandes.
Le deuxième critère, la rotation, indique si les serveurs proxy changent automatiquement. Ceux qui n'apparaissent pas souvent dans des listes de proxy au format IP:Port (1). Ceux qui prennent le format endpoint:port (2) :
192.168.0.1:10000
fr.proxyprovider.net:10000
Le point de terminaison fonctionne comme une passerelle vers le pool de proxy du fournisseur. Il achemine automatiquement vos demandes via différentes adresses dans le backend. Même lorsqu'une adresse IP change, le point de terminaison reste le même.
Les proxys rotatifs sont très pratiques pour le scraping Web, car vous avez accès à un nombre effectivement infini d'adresses IP (des milliers à des millions). Cependant, ces services facturent souvent les dépenses de trafic, tandis que les listes de proxy statiques ont tendance à offrir un trafic illimité.
Comparons les types de proxy discutés en fonction de leurs différentes caractéristiques.
Dans le cas des réseaux proxy rotatifs, les proxys résidentiels coûtent environ huit à 10 fois plus cher que les adresses de centres de données et un peu moins que les réseaux proxy rotatifs des FAI.
Les réseaux proxy statiques facturent généralement par adresse IP. Par rapport aux proxys des FAI, les serveurs proxy des centres de données coûtent deux à trois fois moins cher, selon le prix que vous achetez.
Malgré l'acheminement du trafic via des appareils d'utilisateurs finaux imprévisibles, les principaux réseaux proxy résidentiels fonctionnent très bien. A des fins de web scraping (lorsque l'IP tourne à chaque demande de connexion), ils transfèrent les données presque aussi bien que les proxys de datacenter :
Nous n'avons pas non plus vu de grande différence de latence. Vous trouverez ci-dessous les temps de réponse pour les requêtes adressées au serveur le plus proche d'un CDN global (la taille de la réponse est de plusieurs kilo-octets) et d'Amazon (environ 1 Mo de taille de réponse) :
Le débit est un domaine où dominent les centres de données et les proxies ISP. Ils ont des tuyaux plus larges pour transférer des données. Certains proxys résidentiels peuvent être très rapides, mais vous pouvez tout aussi bien rencontrer des serveurs qui n'arrivent pas à atteindre 1 Mbps. Il y a beaucoup moins de prévisibilité.
Les proxys de centre de données et de FAI peuvent rester opérationnels presque 24 heures sur 24, 7 jours sur 7, et ne se déconnecter qu'en cas de panne ou de maintenance. La disponibilité d'un proxy résidentiel dépend de divers facteurs, par exemple s'il provient d'un appareil Windows ou Android. Dans tous les cas, il est beaucoup plus court et moins fiable que les proxys basés sur un serveur.
Nous avons écrit un script qui cinglait une base de données IP toutes les 20 secondes pour voir à quelle fréquence une adresse IP résidentielle changerait. Voici quelques résultats :
Les proxys de centre de données luttent contre les sites Web protégés ou très populaires comme Google ou les médias sociaux. Cela peut être quelque peu atténué en choisissant des adresses IP dédiées avec un historique d'utilisation plus propre.
Parfois, la connexion à partir d'une plage IP de centre de données suffit pour que les sites Web ne vous laissent pas entrer. Dans de tels cas, le seul recours est d'utiliser un type de proxy différent.
Les mandataires des FAI ont une meilleure réputation IP par défaut, ils sont donc moins surveillés au départ. Cependant, ils ont toujours des habitudes de navigation moins réalistes par rapport à une véritable adresse résidentielle. Les serveurs proxy résidentiels forment de grands pools, sont très divers et partagent l'historique de navigation avec de vraies personnes. Ces qualités les rendent très difficiles à distinguer du public plus large du site Web.
Les proxys de centre de données et de FAI sont hébergés dans des centres de données, et le nombre de centres de données disponibles est limité. L'emplacement le plus fréquent est probablement Ashburn, bien que les principaux fournisseurs puissent vous fournir des adresses IP de centres de données de dizaines de pays. Cependant, si vous avez besoin d'adresses dans des localités plus petites, et en particulier dans leurs villes autres que les capitales, vous n'aurez pas de chance.
Les proxys résidentiels n'ont pas de telles restrictions - tant qu'il y a un appareil et un participant volontaire, n'importe qui de n'importe où peut se joindre. Par conséquent, les principaux fournisseurs peuvent proposer des adresses IP dans tous les pays avec un ciblage par ville, ASN et parfois même par code postal.
Sur la base de notre enquête auprès des principaux fournisseurs de proxy, la plupart ont choisi les proxys résidentiels comme leur produit le plus populaire. Seuls deux fournisseurs ont spécifié des serveurs proxy de centre de données, et aucun proxy de FAI.
Les proxys de centres de données ont chuté ces dernières années, alors que des cibles majeures comme Amazon, Google, LinkedIn et d'autres ont renforcé leurs systèmes de sécurité. Les mandataires des FAI ont la capacité de prendre leur place, mais leur adoption est entravée par des difficultés d'approvisionnement - il est difficile d'avoir des FAI de bonne réputation à bord.
Mais assez de théorie. Comment pouvez-vous appliquer ces connaissances à votre projet ? J'ai modélisé plusieurs scénarios avec des suggestions de serveur proxy.
Pour garder cet article exempt d'intérêts commerciaux, je ne mentionnerai pas de fournisseurs particuliers. Si vous souhaitez des recommandations, nous comparons les principaux fournisseurs sur notre site Web (Avertissement : nous sommes en relation d'affiliation avec la plupart de ces sociétés. Cependant, cela n'a aucun impact sur nos rapports de marché.)
Exemple : Scraping d'un portail d'actualités mineur, d'un site Web de commerce électronique ou même d'un moteur de recherche autre que Google.
Recommandation : Rotation des proxys de centre de données. Vous pouvez accéder à un pool de 2 000 à 100 000 adresses IP tournantes pour 0,7 $/Go ou moins. Vous n'aurez pas à vous soucier de remplacer les adresses IP bloquées, et le coût du trafic est suffisamment faible pour une extraction de données sérieuse.
Exemple : téléchargement de vidéos à partir d'un service de diffusion en continu ou d'images à partir d'un agrégateur d'images à des fins d'archivage.
Recommandation : centres de données statiques ou proxys ISP. Ils sont rapides et ne comptent pas les dépenses de trafic. Optez pour les proxys de centre de données lorsque le site Web le permet et les proxys ISP dans le cas contraire.
Exemple : Recherche de mentions de marque sur le Web.
Recommandation : centres de données statiques ou proxys ISP. L'exploration nécessite beaucoup de données, il est donc préférable de choisir un type de proxy qui n'utilise pas le trafic comme métrique principale. De plus, même un nombre fini d'adresses IP vous mènera loin lorsque vous changerez de cible.
Exemple : Extraire des offres d'emploi de LinkedIn, des informations sur l'entreprise de G2 ou des messages hashtaggés d'un réseau de médias sociaux.
Recommandation : Proxies résidentiels. Avec un nombre effectivement infini d'adresses IP, vous ne risquez pas de bannir vos proxys. De plus, vous connaîtrez un taux de réussite plus élevé par rapport aux autres types de proxy.
Exemple : Suivi des mouvements de cours des actions.
Recommandations : Proxies du centre de données si le site Web les autorise ; sinon, les proxies ISP **. ** Leur vitesse de connexion rapide garantit que vous extrairez les données telles qu'elles apparaissent.
Exemple : Surveillance des positions sur les pages des moteurs de recherche pour les requêtes Google localisées.
Recommandation : proxys résidentiels, car ils prennent en charge le filtrage IP au niveau de la ville.
Cet article vous a donné une brève introduction aux serveurs proxy à des fins de scraping Web. Après l'avoir lu, vous devriez être en mesure de distinguer les principaux types de proxy, les configurations et la configuration qui profiterait le plus à votre projet de science des données.