Nous avons évalué les performances des principales API d'extraction de données web en effectuant 12 500 requêtes vers des plateformes de commerce électronique et des moteurs de recherche. Ensuite, nous avons testé la fiabilité des services sous-jacents (c.-à-d. des proxys résidentiels ) avec 5 000 et 100 000 requêtes parallèles.
Forts de ces expériences, nous expliquons comment extraire des données à grande échelle de manière efficace et éthique . Découvrez les principaux fournisseurs, les défis liés à l'extraction de données à grande échelle et les bonnes pratiques pour surmonter ces obstacles :
référentiel de fiabilité de l'infrastructure de données Web
Nous avons mesuré le taux de réussite et les temps de réponse des serveurs proxy résidentiels afin de comprendre leur comportement sous différentes charges. Étant donné que ces serveurs sont à la base de tous les services avancés (par exemple, les débloqueurs et les API d'extraction de données web ), leur capacité constitue généralement le facteur limitant.
Tous les services des fournisseurs testés étaient fiables avec 5 000 requêtes parallèles. À 100 000 requêtes parallèles, tous les services ont subi une certaine dégradation, mais Bright Data, Oxylabs et Decodo ont affiché une meilleure fiabilité, avec des variations limitées du taux de réussite et des temps de réponse. Par exemple, lors de l'augmentation du nombre de requêtes parallèles de 5 000 à 100 000 :
- Le taux de réussite des proxys résidentiels Bright Data a diminué de 96,5 % à 93,4 %, et le temps de réponse est passé de 1 seconde à 3,6 secondes.
- Oxylabs ' le taux de réussite a baissé de 97,2 % à 93,8 % et le temps de réponse a augmenté de 1,3 à 6,4 secondes.
Au niveau de l'entreprise, une fiabilité accrue réduit la fréquence des tentatives de redémarrage, minimise les coûts d'ingénierie et diminue les coûts globaux. L'échelle de puissance a été utilisée sur l'axe vertical pour faciliter la comparaison entre les produits.
Limite : Cette observation est ponctuelle. Bien qu’elle porte sur 5 millions de requêtes envoyées à chaque fournisseur, les performances de ce dernier peuvent évoluer au fil du temps.
Coût total de l'infrastructure pour le raclage à grande échelle
- Le produit Bright Data offre aux grands utilisateurs une infrastructure robuste et une couverture mondiale à moindre coût. Pour les entreprises recherchant le meilleur rapport qualité-prix, les produits Bright Data et Oxylabs offrent tous deux un bon compromis entre prix et performances.
- NetNut et Decodo sont les choix les plus abordables pour les besoins à l'échelle de l'entreprise, avec des coûts totaux commençant autour de 10 750 $ à 11 000 $.
- Le fournisseur Apify est le plus cher de cette comparaison, avec un prix de 17 749 $. C’est environ 65 % de plus que le prix d’entrée de gamme de NetNut.
Compte tenu de la grande variété de produits proposés par chaque fournisseur, il est difficile de comparer les prix. Toutefois, un indice de prix global donne une indication de l'accessibilité des services proposés. Pour plus d'informations, consultez notre méthodologie de tarification de référence .
Comment extraire des données de sites web à grande échelle
L'extraction de données à grande échelle sur des sites web nécessite une stratégie bien planifiée et des outils automatisés pour gérer les difficultés rencontrées. On distingue généralement deux types d'objectifs pour l'extraction de données à grande échelle :
1) Extraction de milliers/millions de pages à partir de quelques grands sites web
Les grands sites web possèdent généralement des systèmes de pagination complexes et intègrent des techniques anti-extraction de données. Pour extraire des données de ces sites, vous pouvez utiliser des API d'extraction de données web lorsqu'elles sont disponibles. Elles sont économiques car elles minimisent l'effort technique côté client en fournissant des données structurées.
Cependant, les API de web scraping ne sont pas disponibles pour tous les sites web. Voici quelques étapes à suivre pour une approche optimale :
Approche recommandée
- Créez une liste des types de pages à collecter. Par exemple, une page de recherche sur Amazon est un type de page différent d'une page produit.
- Comparez cette liste avec les API proposées par chaque fournisseur pour identifier celui qui permet de récupérer le plus grand nombre de pages via API. Chaque type de page supplémentaire accessible via API permet aux entreprises de libérer leurs équipes techniques de la gestion des proxys et de l'analyse des pages HTML. Vous pouvez consulter toutes les API de web scraping ainsi que des benchmarks présentant les champs de données fournis par différents services.
- Utilisez les API lorsqu'elles sont disponibles.
- Lorsque les API de scraping ne sont pas disponibles, utilisezdes services de déblocage ou des proxys résidentiels pour contourner les mesures anti-bots strictes.
Exemple concret
Les entreprises de commerce électronique et les détaillants qui collectent les données de leurs concurrents (comme Amazon) pour obtenir les prix dynamiques sont confrontés à ce défi. Il s'agit d'un cas d'utilisation courant, et par conséquent, les API de scraping pour le commerce électronique sont les API de scraping les plus répandues.
Si vous prévoyez d'extraire des millions de pages par jour, vous devez utiliser un service capable de gérer de gros volumes.
2) Extraction de données de milliers de petits sites web
Ce type de web scraping à grande échelle est complexe car les fournisseurs d'infrastructures de données web ne proposent généralement pas d'API de web scraping et la plupart des petits sites web ont des structures diverses.
Cependant, les sites web de plus petite taille intègrent généralement des technologies anti-scraping moins performantes. C'est pourquoi des proxys sont généralement utilisés lors de ces opérations de scraping.
Nouveautés : LLM et scrapers IA
L'analyse des pages web était autrefois un travail long et manuel qui impliquait des ingénieurs utilisant des techniques de correspondance de modèles pour convertir le HTML en données structurées.
L'intelligence artificielle générative permet d'utiliser de grands modèles de langage pour l'analyse syntaxique. Cependant, ces modèles sont sujets à des erreurs d'interprétation et il est recommandé aux entreprises de tester les données analysées automatiquement afin de s'assurer de leur exactitude.
Les fournisseurs d'infrastructures de données Web intègrent désormais les LLM à leur offre ; découvrez cette nouvelle catégorie : le web scraping par IA .
Quels sont les défis du web scraping à grande échelle ?
L'extraction de données web à grande échelle pose de nombreux défis en raison de la complexité du traitement des volumes importants de données et des composantes techniques impliquées. Voici quelques-uns des défis les plus courants liés à l'extraction de données à grande échelle :
Sites Web dynamiques :
Les sites web dynamiques, contrairement aux sites statiques, utilisent JavaScript pour charger ou afficher leur contenu, ce qui rend les méthodes traditionnelles d'extraction de données web difficiles à mettre en œuvre. La plupart des sites web dynamiques nécessitent des interactions de l'utilisateur, comme cliquer sur des boutons ou remplir des formulaires. Votre outil d'extraction doit donc être capable de simuler ces interactions pour accéder aux données.
Limitation du débit :
Les sites web utilisent la limitation de débit pour contrôler le nombre de requêtes qu'un client peut effectuer dans un laps de temps donné. Cela protège les sites web contre les robots malveillants et empêche l'utilisation abusive de leurs données.
Mesures anti-grattage :
De nombreux sites web utilisent des mécanismes anti-extraction de données , tels que les CAPTCHA, les défis JavaScript et les blocages d'adresse IP, pour empêcher ou limiter les activités d'extraction de données web.
Risque juridique :
Les activités de web scraping à grande échelle attirent l'attention des équipes de sécurité et, même si une petite partie de ce scraping inclut des activités potentiellement illégales ou contraires à l'éthique (par exemple, la collecte de données nécessitant une authentification ou de données personnelles), des poursuites judiciaires ne tardent pas à être engagées. Un exemple récent est celui de Google qui a poursuivi SerpApi pour avoir extrait du contenu protégé par le droit d'auteur figurant dans ses résultats de recherche publics. 1
Exactitude des données :
Garantir l'exactitude des données peut s'avérer complexe, notamment avec de grands ensembles de données. Par exemple, les données collectées auprès de sources multiples peuvent présenter des incohérences. L'inspection manuelle de nouvelles données, surtout dans les grands ensembles, peut être fastidieuse et peu pratique. Il est possible d'utiliser des métriques automatisées pour valider et inspecter les données, par exemple en exploitant des algorithmes d'apprentissage automatique ou en développant des scripts.
Comment réaliser efficacement du web scraping à grande échelle
Nous avons compilé les principales recommandations suivantes pour vous aider à relever les défis liés à l'extraction de données web à grande échelle, en garantissant une extraction efficace et conforme à la législation. Il est important d'appliquer ces bonnes pratiques de manière responsable et dans le respect des conditions d'utilisation du site web.
- Le scraping des navigateurs permet d'accéder à des fonctionnalités de déblocage contrôlables par programmation, facilitant ainsi la collecte de données.
- Les navigateurs sans interface graphique permettent d'extraire les données nécessaires à partir de sites web dynamiques. Lors de l'extraction de données de sites dynamiques, ils peuvent simuler les interactions utilisateur, comme les mouvements de souris et les clics. Cependant, ils peuvent avoir des difficultés à afficher correctement les pages qui utilisent intensivement JavaScript.
- Proxies et rotation d'adresse IP : La plupart des bibliothèques et outils de web scraping offrent des options pour l'utilisation de serveurs proxy. Les outils de web scraping préconfigurés intègrent souvent des services proxy afin d'éviter le blocage des sites web cibles.
- Par exemple,la rotation des serveurs proxy permet aux robots d'extraction de données web de contourner la limitation de débit et d'effectuer davantage de requêtes sans être considérés comme suspects. Nous recommandons d'utiliser des adresses IP résidentielles reconnues pour leur fiabilité et leur rapidité.
- Automatisation du navigateur web : Les outils d’automatisation web comme Selenium et Puppeteer permettent de reproduire les actions humaines et d’interagir avec les sites web de la même manière qu’un humain. Cela peut s’avérer utile pour extraire de grandes quantités de données de sites web dynamiques sans avoir à naviguer manuellement sur le site.
- Techniques de calcul distribué : Une architecture de web scraping distribuée permet un web scraping à grande échelle plus efficace en divisant et en répartissant les tâches de web scraping sur plusieurs machines. Vous pouvez développer votre scraper distribué dans le langage de votre choix, en fonction de vos compétences, afin de surmonter les difficultés telles que la limitation du débit et la gestion du contenu dynamique.
Qu'est-ce que le web scraping à grande échelle ?
Le web scraping à grande échelle est le processus d'extraction de données à partir de sites web, à raison d'au moins plusieurs centaines de milliers de requêtes par mois. Bien que les utilisateurs puissent le faire manuellement , le terme désigne généralement un processus automatisé mis en œuvre par des robots d'exploration ou des scrapers web .
Le volume et la complexité des données impliquées dans le web scraping à grande échelle posent des problèmes éthiques et juridiques , nécessitant une compréhension approfondie des outils , des techniques et des meilleures pratiques de web scraping pour réussir.
Méthodologie
Nous avons utilisé chaque service proxy résidentiel de référence pour envoyer des requêtes parallèles à 50 URL différentes hébergées par aimultiple.com. Ces URL n'utilisaient aucun service anti-scraping, car nous avons désactivé tous les services de sécurité de notre site web, tels que le WAF et la protection DDoS au niveau réseau, pendant ce test.
Nous avons effectué ces tests sur plus de 100 serveurs, chacun doté d'une liaison montante de 10 Gb/s, hébergés dans différentes régions. Lors de nos mesures, nous avons veillé à ce que tous les processus parallèles soient actifs simultanément. Dans une mesure, nous avons effectué 5 000 requêtes parallèles et dans une autre, 100 000.
Une requête était considérée comme réussie si elle renvoyait un code de réponse 200 et un identifiant correct. Afin d'éviter la mise en cache des résultats, nous avons ajouté un identifiant unique à l'en-tête de la requête. Ensuite, via un script, l'URL a inséré cet identifiant dans le corps de la réponse. Enfin, nous avons comparé les deux identifiants (celui du corps de la réponse et celui de l'en-tête de la requête). Grâce à cette méthode, nous avons pu garantir que les requêtes atteignaient bien les URL cibles et que les résultats n'étaient pas mis en cache (c'est-à-dire qu'ils étaient à jour).
Soyez le premier à commenter
Votre adresse courriel ne sera pas publiée. Tous les champs sont obligatoires.