Comment extraire des données de sites protégés comme Amazon directement depuis Google Sheets avec Bright Data.

Dans notre précédent article, nous vous avons montré comment créer un puissant outil d’extraction de données web gratuit directement dans Google Sheets à l’aide d’Apps Script. C’était une solution fantastique pour automatiser la collecte de données sur des sites web simples. Cependant, comme beaucoup d’entre vous l’ont découvert, le web moderne est complexe. Dès que vous essayez d’extraire des données d’un site e-commerce dynamique ou d’un portail protégé par des mesures anti-bot, la solution de base atteint ses limites.

Aujourd’hui, nous allons dépasser ces limites. Nous allons transformer notre script original en un outil d’extraction de données de qualité professionnelle capable de relever les défis du web moderne, tout en conservant la commodité de gérer l’ensemble du processus depuis votre feuille Google.

Table des matières
  1. Pourquoi les extracteurs simples échouent-ils ? Le défi du web moderne
  2. La solution : le Web Unlocker de Bright Data
  3. Bright Data vs. Apify : Une perspective professionnelle
    1. Fonctionnalités exceptionnelles de Bright Data
  4. Le script amélioré : Comment ça marche
  5. Comment configurer et utiliser l’extracteur amélioré
  6. Le code source
  7. Nouvelles opportunités commerciales débloquées
  8. Résumé : Pourquoi cette mise à niveau change la donne

Pourquoi les extracteurs simples échouent-ils ? Le défi du web moderne

Les sites web ont évolué. Ce ne sont plus de simples pages statiques. Lorsqu’un extracteur simple comme notre solution originale échoue, c’est généralement pour l’une des raisons suivantes :

  • Contenu rendu par JavaScript : De nombreux sites chargent d’abord une page de base, puis utilisent JavaScript pour récupérer et afficher le contenu réel (comme les prix ou les détails des produits). L’outil UrlFetchApp de Google ne voit souvent que la page initiale vide, manquant ainsi les données dont vous avez besoin.
  • Protections anti-extraction de données : Pour prévenir les abus et protéger leurs données, les sites web emploient des défenses sophistiquées. Les plus courantes sont :
    • Blocage d’IP : Si un serveur détecte trop de requêtes provenant d’une seule adresse IP (comme les serveurs de Google), il la bloquera.
    • CAPTCHAs : Ces tests « Je ne suis pas un robot » sont conçus pour arrêter net les scripts automatisés.
    • Empreinte numérique du navigateur : Les sites web peuvent vérifier les signes indiquant qu’une requête provient d’un script automatisé plutôt que du navigateur d’un utilisateur réel.

Tenter de mener cette bataille seul est un jeu du chat et de la souris constant et frustrant. La solution consiste à utiliser un service spécialisé qui a déjà résolu ces problèmes.

La solution : le Web Unlocker de Bright Data

C’est là qu’intervient un service comme Bright Data. Bright Data est une plateforme de données web de premier plan qui fournit l’infrastructure nécessaire pour accéder de manière fiable aux données web publiques. Au lieu d’envoyer une requête directe de Google au site web cible, nous envoyons notre requête à Bright Data. Ils utilisent ensuite leur vaste réseau de proxys et leur technologie intelligente « Web Unlocker » pour :

  • Acheminer votre requête via une véritable adresse IP résidentielle ou mobile, la faisant ressembler à celle d’un utilisateur régulier.
  • Résoudre automatiquement les CAPTCHAs.
  • Gérer les empreintes numériques du navigateur et les cookies.
  • Réessayer les requêtes échouées jusqu’à ce qu’elles réussissent.

Essentiellement, Bright Data gère tous les problèmes de blocage complexes, vous garantissant d’obtenir le HTML propre dont vous avez besoin, à chaque fois.

Bright Data vs. Apify : Une perspective professionnelle

Lorsque vous recherchez des solutions d’extraction de données, vous verrez souvent Apify mentionné. C’est une plateforme puissante avec une place de marché d’« Actors » (extracteurs pré-construits), dont beaucoup sont développés par la communauté. C’est excellent, mais cela peut sembler moins centralisé qu’un service comme Bright Data, que je considère comme un service plus professionnel et axé sur les entreprises.

Les deux plateformes offrent des outils sur mesure qui peuvent extraire des données de sites web spécifiques et renvoyer des données JSON structurées. Cependant, pour notre approche universelle, nous utilisons le « Web Unlocker » de Bright Data. Il s’agit d’un outil polyvalent qui renvoie de manière fiable le contenu HTML complet de n’importe quelle URL, nous offrant une flexibilité maximale. Bien qu’Apify dispose d’extracteurs puissants pour des sites spécifiques, il n’offre pas d’outil unique et universel tout à fait comme le Web Unlocker qui est conçu pour simplement renvoyer le HTML brut de n’importe quelle URL, quelle que soit la protection.

À mon avis, bien que les deux services soient excellents, je trouve Bright Data plus robuste et fiable pour les tâches critiques pour l’entreprise. Leur modèle de tarification est également plus simple. Apify utilise un modèle d’abonnement basé sur des « crédits de plateforme », ce qui peut rendre les coûts difficiles à prévoir. Le plan de paiement à l’utilisation de Bright Data coûte environ 1,50 $ pour 1 000 requêtes réussies. Cette transparence est parfaite pour notre projet, et d’un point de vue intégration et coût, je pense que Bright Data offre une meilleure proposition de valeur.

Fonctionnalités exceptionnelles de Bright Data

  • Ciblage géographique : Vous pouvez faire en sorte que vos requêtes semblent provenir d’un pays, d’un État ou même d’une ville spécifique. C’est essentiel pour l’extraction de contenu localisé, tel que les prix régionaux, les résultats de recherche locaux ou la disponibilité en magasin.
  • Extraction en Markdown : L’API peut renvoyer le contenu extrait directement dans un format Markdown propre. C’est incroyablement puissant pour alimenter directement des modèles d’IA ou générer de la documentation sans avoir besoin de parser d’abord un HTML complexe.
  • Retourner une capture d’écran : Vous pouvez demander une capture d’écran visuelle de la page cible. C’est inestimable pour la vérification visuelle, l’archivage de l’apparence d’une page à un moment précis, ou le débogage de problèmes où la mise en page affecte les données.
  • Cookies et en-têtes personnalisés : L’API vous permet d’envoyer vos propres en-têtes et cookies personnalisés avec une requête. C’est une fonctionnalité avancée pour imiter une session utilisateur connectée ou un type de navigateur spécifique afin d’accéder à des données qui nécessitent une authentification ou des paramètres de navigateur particuliers.

Le script amélioré : Comment ça marche

L’évolution de notre script va bien au-delà du simple remplacement d’un appel d’API. Nous l’avons transformé en un outil beaucoup plus polyvalent et professionnel.

  • Une amélioration complète du flux de travail : Bien que le remplacement de UrlFetchApp par Bright Data ait été le changement essentiel pour gérer les sites protégés, nous avons amélioré l’ensemble du flux de travail.
  • Extraction initiée directement depuis les feuilles de calcul : Le script est désormais un script lié, ce qui signifie qu’il est directement attaché à votre feuille Google. Nous avons ajouté un élément de menu personnalisé qui vous permet de déclencher l’ensemble du processus en un seul clic, rendant l’expérience utilisateur beaucoup plus fluide.
  • Extraire n’importe quel texte, pas seulement les prix : Nous avons supprimé toute la logique spécifique aux prix. Le script est désormais entièrement générique, capable d’extraire n’importe quelle donnée textuelle que vous lui indiquez, qu’il s’agisse d’un titre de produit, d’un statut de stock, d’un avis d’utilisateur ou d’un titre d’actualité.
  • Capturer plusieurs résultats d’une seule page : L’amélioration fonctionnelle la plus significative est la capacité d’extraire plusieurs éléments d’une seule page. Si votre sélecteur CSS correspond à plusieurs éléments (comme tous les noms de produits sur une page de catégorie), le script les extraira tous et placera soigneusement chacun d’eux dans une colonne séparée de votre feuille.

Ces changements élèvent le script d’un simple suivi de prix à un moteur d’extraction de données polyvalent et robuste, entièrement géré au sein de votre feuille Google.

D’un point de vue technique, cela fonctionne de la manière suivante :

  • Prend l’URL cible que vous souhaitez extraire.
  • L’intègre dans une requête à l’API Bright Data.
  • Inclut votre clé API secrète pour l’authentification.
  • Envoie la requête et renvoie le HTML propre que Bright Data récupère.

Le reste de notre script reste plus ou moins le même !

Comment configurer et utiliser l’extracteur amélioré

Pour commencer, il faut une configuration simple et unique pour connecter votre feuille Google au script nécessaire et à l’API Bright Data. Suivez ces étapes pour mettre en marche votre nouvel extracteur puissant.

  1. Étape : Créer la feuille Google et ouvrir Apps Script
    Tout d’abord, accédez à votre Google Drive et créez une nouvelle feuille Google. Dans le menu de votre nouvelle feuille, naviguez vers Extensions > Apps Script. Cela ouvrira l’éditeur de script dans un nouvel onglet de navigateur, où vous placerez le code de l’extracteur.
  2. Étape : Installer le code de l’extracteur et la bibliothèque requise
    1. Coller le code Apps Script : Faites défiler vers le bas pour trouver le script complet. Copiez le code, collez-le dans l’éditeur Apps Script que vous venez d’ouvrir, et cliquez sur l’icône « Enregistrer ».
    2. Ajouter la bibliothèque Cheerio : Le script s’appuie sur une bibliothèque appelée Cheerio pour lire et analyser efficacement le HTML d’une page web, ce qui facilite l’extraction de données spécifiques à l’aide d’un sélecteur CSS.
      • Dans le menu de gauche de l’éditeur de script, cliquez sur l’icône plus (+) à côté de « Bibliothèques ».
      • Il vous sera demandé un ID de script. Pour le trouver, ouvrez un nouvel onglet et recherchez sur Google « Cheerio Apps Script ». Le premier résultat est généralement une page GitHub contenant l’ID.
      • Copiez l’ID de script de la page GitHub, retournez à votre éditeur de script et collez-le dans le champ ID de script. Cliquez sur le bouton « Rechercher ».
      • Sélectionnez la dernière version disponible dans le menu déroulant et cliquez sur le bouton « Ajouter ». Cheerio est maintenant lié avec succès à votre projet.
  3. Étape : Configurer la connexion à l’API Bright Data
    Notre script envoie des requêtes à Bright Data, qui récupère ensuite le HTML du site web cible en votre nom, en contournant tout système anti-bot.
    1. Obtenir votre clé API Bright Data :
      • Rendez-vous sur le site web de Bright Data et créez un compte.
      • Une fois connecté, naviguez vers « Proxies & Scraping Infrastructure » dans la navigation de gauche. Cliquez sur le bouton « Ajouter » et sélectionnez « Web Unlocker ».
      • Vous devrez configurer une « zone », qui est une configuration pour vos tâches d’extraction de données. Les paramètres par défaut conviennent à la plupart des sites web. Cependant, si vous prévoyez d’extraire des données de sites hautement protégés (appelés « domaines premium »), vous devez activer le paramètre des domaines premium pour votre zone.
      • Après avoir cliqué sur « Ajouter » pour créer la zone, votre clé API et votre ID de zone seront générés. Copiez les deux.
    2. Ajouter les identifiants au script :
      • Retournez à votre éditeur Apps Script.
      • Collez la clé API et l’ID de zone dans leurs variables d’espace réservé respectives en haut du script.
      • Cliquez sur l’icône « Enregistrer le projet ».
  4. Étape : Exécuter l’extracteur et accorder les autorisations
    Vous êtes maintenant prêt à commencer l’extraction de données.
    1. Actualisez votre feuille Google. Après le rechargement, vous verrez un nouvel élément de menu personnalisé appelé « Extracteur ».
    2. Dans votre feuille, collez une URL dans la colonne A et son sélecteur CSS correspondant dans la colonne B.
    3. Cliquez sur le menu « Extracteur » et sélectionnez « Exécuter l’extracteur ».
    4. Autoriser le script : La première fois que vous l’exécutez, Google vous demandera votre permission pour que le script fonctionne.
      • Une fenêtre « Autorisation requise » apparaîtra. Cliquez sur « Examiner les autorisations ».
      • Choisissez votre compte Google. Vous verrez peut-être un écran indiquant « Google n’a pas vérifié cette application ». C’est tout à fait normal et attendu, car le script a besoin d’autorisation pour se connecter à un service externe et modifier votre feuille de calcul.
      • Examinez et accordez toutes les autorisations nécessaires pour continuer.

Maintenant que la configuration est terminée, vous pouvez exécuter l’extracteur à tout moment depuis le menu personnalisé. Le script s’exécutera et remplira les résultats directement dans votre feuille en quelques secondes.

Le code source

Code source sur Github.

Nouvelles opportunités commerciales débloquées

Avec cet extracteur surpuissant, vous pouvez désormais créer de puissants outils d’automatisation commerciale qui étaient auparavant impossibles :

  • Comparaison de prix fiable : Suivez les prix sur les principales plateformes de commerce électronique comme Amazon ou Walmart sans être bloqué.
  • Alertes d’offres immobilières : Extrayez des données de plusieurs portails immobiliers pour de nouvelles annonces correspondant à vos critères exacts et soyez informé instantanément.
  • Génération de leads : Extrayez des informations commerciales de répertoires en ligne protégés pour créer des listes de leads ciblées.
  • Veille d’actualités et de marque : Suivez les sites d’actualités, les blogs et les forums pour les mentions de votre marque, de vos concurrents ou des mots-clés de votre secteur afin de rester à l’avant-garde des tendances et de gérer votre réputation.
  • Surveillance des sites web concurrents : Gardez un œil sur les sites web de vos concurrents pour tout changement – des mises à jour de texte subtiles aux refontes majeures – et soyez alerté automatiquement.
  • Analyse de marché et de la concurrence : Surveillez quotidiennement les niveaux de stock de produits de vos concurrents, les lancements de nouveaux produits ou les avis clients.

Résumé : Pourquoi cette mise à niveau change la donne

En passant de UrlFetchApp à Bright Data, nous avons transformé notre simple outil en un moteur robuste de collecte de données. Les principaux avantages sont :

  • Fiabilité : Fini les requêtes échouées ou les données manquantes. Vous obtenez ce que vous demandez.
  • Puissance : Extrait facilement des données de sites web dynamiques et riches en JavaScript.
  • Discrétion : Contourne sans effort les protections anti-extraction de données courantes.
  • Simplicité : Toute la complexité est gérée par Bright Data, tandis que vous continuez à tout gérer depuis une simple feuille Google.

Vous disposez désormais d’une solution d’extraction de données web de qualité professionnelle à portée de main, ouvrant un nouveau monde de possibilités d’automatisation axées sur les données pour votre entreprise.

Attila

Business process automation expert

Leave a comment

Votre adresse e-mail ne sera pas publiée.

bestflow.

1118 Budapest, Ménesi út 24. Hungary

© 2024 bestflow. All rights reserved.