Retour au blog
Guides
Andrei Ogiolan21 avril 20239 minutes de lecture

Comment extraire les avis de Google Maps

Comment extraire les avis de Google Maps

Introduction

Google Maps est l'un des services de cartographie et de navigation les plus utilisés au monde. Il offre aux utilisateurs un moyen simple de trouver et d'explorer des lieux, des commerces et des points d'intérêt. L'une des fonctionnalités clés de Google Maps est la possibilité de rechercher des lieux et d'afficher des informations détaillées à leur sujet, telles que leur emplacement, les avis, les photos, etc.

L'extraction de ces données depuis Google Maps peut s'avérer utile pour les entreprises qui souhaitent suivre et analyser les performances de leurs établissements, pour les chercheurs qui étudient les tendances du comportement des consommateurs, et pour les particuliers qui souhaitent découvrir et explorer de nouveaux lieux.

L'objectif de cet article est de vous fournir un guide étape par étape sur la manière d'extraire les avis de Google Maps à l'aide de notre API et de Node.js. Nous aborderons tous les aspects, de la configuration de l'environnement de développement à l'extraction des données pertinentes, en passant par l'analyse des problèmes potentiels. À la fin de cet article, vous disposerez des connaissances et des outils nécessaires pour extraire vous-même les résultats de recherche de lieux sur Google Maps.

Pourquoi utiliser un scraper professionnel plutôt que de créer le vôtre ?

L'utilisation d'un scraper professionnel peut s'avérer une meilleure option que de créer le vôtre pour plusieurs raisons. Tout d'abord, les scrapers professionnels sont conçus pour gérer une grande variété de tâches de scraping et sont optimisés en termes de performances, de fiabilité et d'évolutivité. Ils sont conçus pour traiter de grandes quantités de données et peuvent gérer divers types de sites web et de technologies web. Cela signifie que les scrapers professionnels peuvent souvent extraire des données plus rapidement et avec plus de précision qu'un scraper sur mesure.

De plus, les scrapers professionnels sont souvent dotés de fonctionnalités intégrées telles que la résolution de CAPTCHA, la rotation d'adresses IP et la gestion des erreurs, ce qui peut rendre le processus de scraping plus efficace et moins sujet aux erreurs. Ils offrent également une assistance et une documentation qui peuvent s'avérer utiles en cas de problème.

Un autre aspect important est que les fournisseurs de scrapers professionnels respectent les politiques de scraping des sites web qu'ils exploitent et peuvent garantir une utilisation légale des données, ce qu'il est important de garder à l'esprit lors du scraping de données.

Enfin, dans notre cas particulier, pour extraire les avis Google Maps et obtenir les meilleurs résultats, vous devez passer un paramètre data_id à votre URL Google. Ce paramètre se présente généralement sous la forme suivante : 0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e. Je sais que cela peut sembler intimidant au premier abord, car vous ne savez peut-être pas comment obtenir la propriété data_id pour un lieu spécifique, et vous avez raison, car Google cache cette information et elle n'est pas visible sur la page lorsque vous recherchez un lieu sur Google Maps. Mais, heureusement, l'utilisation d'un scraper professionnel comme le nôtre s'en charge en trouvant ces données pour vous. Nous aborderons dans les sections suivantes comment obtenir le data_id et comment extraire les avis de Google Maps à l'aide de notre API.

Définir notre cible

Que sont les avis Google Maps ?

Les avis Google Maps sont les notes et les commentaires laissés par les utilisateurs sur Google Maps concernant un lieu spécifique. Ces avis comprennent des informations telles que le nom de l'utilisateur, la date à laquelle l'avis a été laissé, la note attribuée et le texte de l'avis.

L'extraction des avis Google Maps peut être utile aux entreprises qui souhaitent suivre et analyser les performances de leurs établissements, aux chercheurs qui souhaitent étudier les tendances du comportement des consommateurs, et aux particuliers qui souhaitent découvrir et explorer de nouveaux lieux. En extrayant les données des avis, les entreprises peuvent identifier les forces et les faiblesses de leurs établissements et apporter les améliorations nécessaires. Les chercheurs peuvent étudier le sentiment qui se dégage des avis et mettre en évidence des tendances dans le comportement des consommateurs. Les particuliers peuvent également utiliser ces informations pour décider où aller et quoi faire.

À quoi ressemble notre cible ?

Google Maps business reviews view showing a restaurant rating and a list of user reviews with photos and star ratings

Mise en place

Avant de commencer à extraire les avis de Google Maps, il est important de disposer des outils nécessaires. La principale exigence est Node.js, un environnement d'exécution JavaScript qui permet l'exécution de JavaScript côté serveur, et qui peut être téléchargé depuis son site web officiel. De plus, une clé API est requise ; vous pouvez l'obtenir en créant un compte ici et en activant le service SERP.

Une fois Node.js installé et la clé API obtenue, l'étape suivante consiste à créer un fichier de script Node.js. Pour ce faire, exécutez la commande suivante :

$ touch scraper.js 

Collez ensuite la ligne suivante dans votre fichier :

console.log("Hello World!")

Puis exécutez la commande suivante :

$ node scraper.js

Si le message « Hello World ! » s'affiche sur le terminal, cela signifie que Node.js a été installé avec succès et que vous êtes prêt à passer à la dernière étape. Cette dernière étape consiste à obtenir l'identifiant (Place ID) du lieu dont vous souhaitez extraire les avis. C'est là que notre API s'avère utile : elle est facile à utiliser et ne nécessite l'installation d'aucune bibliothèque supplémentaire.

Tout d'abord, dans un fichier js, vous devez importer le module intégré Node.js `https` afin de pouvoir envoyer des requêtes à notre API. Pour ce faire, procédez comme suit :

​​const https = require("https");

Ensuite, vous devez indiquer votre clé API, un terme de recherche et les coordonnées du lieu qui vous intéresse :

const API_KEY = "<YOUR-API-KEY-HERE>" // You can get by creating an account - https://app.webscrapingapi.com/register

const query = "Waldo%20Pizza"

const coords = "@38.99313451901278,-94.59368586441806"

Astuce : voici comment obtenir les coordonnées d'un lieu sur Google Maps :

Google Maps listing with a business info sidebar highlighted in red and an arrow pointing from the map to the details panel

L'étape suivante consiste à inclure l'ID du lieu obtenu dans un objet options, afin d'indiquer à notre API les avis de quel lieu vous souhaitez récupérer :

const options = {

  "method": "GET",

  "hostname": "serpapi.webscrapingapi.com",

  "port": null,

  "path": `/v1?engine=google_maps&api_key=${API_KEY}&type=search&q=${query}&ll=${coords}`,

  "headers": {}

};

Ensuite, vous devez configurer un appel à notre API avec toutes ces informations :

const req = https.request(options, function (res) {

 const chunks = [];

 res.on("data", function (chunk) {

   chunks.push(chunk);

 });

 res.on("end", function () {

   const body = Buffer.concat(chunks);

   const response = JSON.parse(body.toString());

   const data_id = response.place_results.data_id;

   if (data_id) {

       console.log(data_id);

   }

   else {

       console.log('We could not find a data_id property for your query. Please try using another query')

   }

 });

});

req.end();

Enfin, vous pouvez exécuter le script que vous venez de créer et attendre que les résultats s'affichent :

​​$ node scraper.js

Vous devriez alors voir s'afficher la propriété data_id à l'écran :

$ ​​0x87c0ef253b04093f:0xafdfd6dc1d3a2b4es

Cela conclut le processus de configuration. Grâce à la propriété data_id, vous disposez désormais de toutes les informations nécessaires pour créer un scraper pour les avis Google Maps à l'aide de notre API et de Node.js.

Commençons à extraire les avis Google

L'environnement étant configuré, vous êtes prêt à commencer à extraire les avis Google Maps avec notre API. Pour continuer, vous devez configurer le paramètre data comme indiqué précédemment. Une fois toutes les informations nécessaires disponibles, vous pouvez configurer le paramètre data_id comme suit :

const data_id = "0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e" // the data_id we retrieved earlier

Il ne vous reste plus qu'à modifier l'objet options, afin d'indiquer à notre API que vous souhaitez extraire les avis de Google Maps :

const options = {

  "method": "GET",

  "hostname": "serpapi.webscrapingapi.com",

  "port": null,

  "path": `/v1?engine=google_maps_reviews&api_key=${API_KEY}&data_id=${data_id}`, // there is no need in having a query anymore, data_id is enough to identify a place

  "headers": {}

};

Et c'est tout ce que vous avez à faire. Votre script devrait maintenant ressembler à ceci :

const http = require("https");

const API_KEY = "<YOUR-API-KEY-HERE>"

const data_id = "0x87c0ef253b04093f:0xafdfd6dc1d3a2b4e" // the data_id we retrieved earlier

const options = {

  "method": "GET",

  "hostname": "serpapi.webscrapingapi.com",

  "port": null,

  "path": `/v1?engine=google_maps_reviews&api_key=${API_KEY}&data_id=${data_id}`, // there is no need in having a query anymore, data_id is enough to identify a place

  "headers": {}

};

const req = http.request(options, function (res) {

  const chunks = [];

  res.on("data", function (chunk) {

    chunks.push(chunk);

  });

  res.on("end", function () {

    const body = Buffer.concat(chunks);

    const response = JSON.parse(body.toString())

    console.log(response);

  });

});

req.end();

Après avoir exécuté ce script, vous devriez recevoir une réponse similaire à celle-ci :

reviews: [

    {

      link: 'https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSUMyem9pOEdBEAE!2m1!1s0x0:0xafdfd6dc1d3a2b4e!3m1!1s2@1:CIHM0ogKEICAgIC2zoi8GA%7CCgwI1vuBkwYQiKeWyQE%7C?hl=en-US',

      date: '8 months ago',

      rating: 5,

      snippet: 'Wow, if you have dietary restrictions this is absolutely the place to go! Both for the variety of restrictions they cater to as well as the taste of the dishes.The good: great tasting food. Very conscious of dietary restrictions which include multiple types of vegan cheeses as well as gluten free. Decent drink selection.The meh: service is nice but a touch slow. Maybe understaffed? Prices are average for pizzas.The bad: noneFeatures: Did not see any masks on anyone inside. Unsure of cleaning practices so I cannot speak to that.Dine in: Yes\n' +

        'Takeout: Yes\n' +

        'Curbside pickup: YesWow, if you have dietary restrictions this is absolutely the place to go! Both for the variety of restrictions they cater to as well as the taste of the dishes. ...More',

      likes: 3,

      user: [Object],

      images: [Array]

    },

    {

      link: 'https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSURXOUxHSUl3EAE!2m1!1s0x0:0xafdfd6dc1d3a2b4e!3m1!1s2@1:CIHM0ogKEICAgIDW9LGIIw%7CCgwI3OnIkQYQwLGL1gM%7C?hl=en-US',

      date: '9 months ago',

      rating: 5,

      snippet: "We love Waldo Pizza! We have dairy allergies and Waldo offers a wide range of vegan cheeses as well as a ton of different toppings. The vegan dessert here is always excellent as well, super rich in flavor. Of course the traditional pizza, pasta and dessert are also amazing! It's great to have both options under one roof!Dine in: Yes\n" +

        'Outdoor seating: No ...More',

      likes: 1,

      user: [Object],

      images: [Array]

    }

    . . . 

]    

Et voilà ! Vous avez réussi à extraire les avis Google Maps à l'aide de notre API et vous pouvez désormais utiliser les données obtenues à diverses fins, telles que l'analyse de données, l'analyse commerciale, l'apprentissage automatique et bien plus encore. Pour plus d'informations et des exemples de code dans 6 autres langages de programmation, vous pouvez consulter notre documentation sur les avis Google Maps.

Limites des avis Google Maps

Même si l'utilisation d'un scraper professionnel pour extraire les avis Google Maps peut s'avérer plus efficace et plus précise que de créer votre propre scraper, il existe tout de même certaines limites à garder à l'esprit. L'une d'elles est que certains scrapers professionnels peuvent avoir des limites d'utilisation, ce qui signifie que vous ne pouvez extraire qu'un certain nombre d'avis par jour ou par mois. Une autre limitation est que certains scrapers professionnels peuvent ne pas être capables de contourner les blocages d'IP ou les CAPTCHA, ce qui peut rendre difficile l'extraction de grandes quantités de données sans rencontrer d'erreurs. Heureusement, chez WebScrapingAPI, nous disposons de proxys résidentiels qui font tourner les adresses IP, vous offrant ainsi une protection et éliminant le risque d'être banni ou soumis à une limitation de débit. Une chose à garder à l'esprit est que les avis Google Maps sont généralement rédigés en langage naturel, ce qui peut les rendre difficiles à analyser et à interpréter sans recourir à des techniques de traitement du langage naturel.

Conclusion

En conclusion, le scraping des avis Google Maps peut être un outil précieux pour les entreprises, les chercheurs et les particuliers. Il vous permet de collecter des données à grande échelle et de les analyser à des fins diverses. Cependant, il est important de garder à l'esprit que le scraping des avis Google Maps comporte des limites, notamment des restrictions d'utilisation, des CAPTCHA, des blocages d'IP et le traitement du langage naturel. L'utilisation d'un outil de scraping professionnel peut rendre le processus plus efficace et plus précis, et vous permettre de contourner certaines de ces limites. Dans l'ensemble, le scraping des avis Google Maps peut fournir des informations utiles, mais il est important de l'aborder avec prudence et précaution.

À propos de l'auteur
Andrei Ogiolan, Développeur Full Stack @ WebScrapingAPI
Andrei OgiolanDéveloppeur Full Stack

Andrei Ogiolan est développeur Full Stack chez WebScrapingAPI ; il participe à l'ensemble du produit et contribue à la mise au point d'outils et de fonctionnalités fiables pour la plateforme.

Commencez à créer

Prêt à faire évoluer votre système de collecte de données ?

Rejoignez plus de 2 000 entreprises qui utilisent WebScrapingAPI pour extraire des données Web à l'échelle de l'entreprise, sans aucun coût d'infrastructure.