Google Maps est une application de cartographie très utile qui fournit des informations complètes sur les lieux géographiques du monde entier. C'est également une source essentielle d'informations sur les entreprises locales. Vous pouvez l'utiliser pour obtenir le nom d'une entreprise, des informations sur son adresse, l'URL d'un site Web, les heures d'ouverture, etc.
Le scraping des données Google Maps vous permet de les convertir dans un format organisé que vous pouvez utiliser à diverses fins, notamment pour générer des prospects commerciaux, organiser des campagnes de courrier électronique de masse et obtenir des informations de contact pour les appels à froid.
Cet article explique comment extraire des données web de Google Maps. Vous apprendrez à extraire des informations commerciales locales utiles depuis l'application. Nous verrons également comment Crawlbase peut vous aider à rendre le processus d'extraction de données fluide, rapide et gratifiant.
Commençons par parler de la façon dont vous pouvez utiliser Crawlbase pour le scraping de données de Google Maps.
Qu'est-ce qu'un scraper Google Maps ?
Il s'agit d'un outil puissant qui vous permet d'extraire des informations sur les emplacements, les régions, les noms, les coordonnées, les avis, les notes, la géolocalisation, etc. Il offre un moyen plus efficace que l'API Google Places. Vous pouvez extraire des données de lieux spécifiques, de villes entières ou même de régions plus vastes en effectuant une recherche à l'aide de mots-clés, de coordonnées ou d'URL.
En utilisant Crawlbase pour récupérer des données Google Maps
Crawlbase est un outil polyvalent qui vous permet d'explorer des données en ligne à grande échelle. Il peut être utilisé pour un large éventail de tâches d'extraction de données, notamment l'extraction de données Google Maps. C'est l'outil idéal pour surmonter les difficultés habituelles de l'extraction et optimiser vos efforts.
Voici quelques raisons pour lesquelles Crawlbase est un outil essentiel pour créer un scraper Google Maps :
- Facile à utiliser: Crawlbase fournit une API conviviale qui vous permet de créer un scraper Google Maps en quelques minutes. Une documentation détaillée, riche en exemples de code, explique également comment intégrer l'API.
- Prend en charge l'exploration anonyme : Avec Crawlbase, vous n'aurez pas à vous soucier de révéler votre véritable identité lors de l'extraction de données Google Maps. Google dispose d'un vaste parc de proxys et de centres de données qui vous permettent de rester anonyme.
- Prend en charge l'extraction avancée : Crawlbase Prend en charge tous les types de projets d'exploration. Grâce à la prise en charge du rendu JavaScript, vous disposez de véritables capacités de navigation pour récupérer des données sur des sites web modernes et complexes sans aucun obstacle. Il vous permet également de contourner les blocages, les CAPTCHA et autres restrictions d'accès susceptibles de vous empêcher de collecter des données rapidement et efficacement.
- Compte d'essai gratuit : Après avoir créé un compte, vous recevrez 1,000 XNUMX crédits gratuits pour tester les fonctionnalités de l'outil. Vous pourrez ensuite continuer à utiliser le service et payer votre utilisation à la fin de chaque cycle de facturation.
Pour ce tutoriel de scraping Google Maps, nous utiliserons Crawlbase's Crawling API. Chaque requête adressée à l'API commence par la partie de base suivante :
1 | https://api.crawlbase |
Ensuite, les deux paramètres de chaîne de requête obligatoires suivants sont requis :
- Jeton d’authentification unique : Cela vous autorise à utiliser l'API. Crawlbase fournit deux types de jetons : un jeton normal pour compléter les requêtes Web génériques et un jeton JavaScript pour récupérer des sites Web dynamiques rendus par JavaScript.
- Cible URL: Il s'agit de l'URL dont vous avez besoin pour extraire ses données. Elle doit commencer par HTTP ou HTTPS. Vous devez également encoder l'URL pour la convertir dans un format pouvant être transféré facilement sur Internet.
Voici comment ajouter les paramètres obligatoires à la requête API :
1 | https://api.crawlbase.com/?token=ADD_TOKEN&url=ADD_URL |
C'est tout ce dont vous avez besoin pour commencer à utiliser Crawlbase pour extraire des informations d'Internet.
C'est si facile!
En fait, si vous fournissez les informations de paramètres requises à la requête ci-dessus et l'exécutez sur la barre d'adresse d'un navigateur Web, elle renverra le code HTML complet de la page Web cible.
Comment créer un scraper Google Maps
Voyons maintenant comment vous pouvez utiliser Crawlbase Pour extraire rapidement et efficacement les données de Google Maps. Dans ce tutoriel, nous allons extraire les données des restaurants new-yorkais répertoriés sur Google MapsNous utiliserons le langage de programmation PHP pour cette tâche.
Étape 1 : Récupérez l’URL de la demande
Commençons par aller sur Google Maps et recherchons des restaurants à New York.

Comme le montre la capture d'écran ci-dessus, les données des restaurants sont affichées dans la barre latérale gauche de la page. C'est ce que nous souhaitons récupérer, au lieu d'extraire les données de la page entière. Le moyen le plus simple de les récupérer est d'inspecter le trafic réseau du navigateur et de récupérer l'URL qui fournit les données.
Pour inspecter le trafic réseau du navigateur, vous pouvez cliquer avec le bouton droit n'importe où sur la barre latérale gauche de la page et sélectionner l' Inspecter option. Cela ouvrira la section des outils de développement en bas de la fenêtre de votre navigateur. Ensuite, sélectionnez l'onglet Réseau. Vous commencerez à voir les données qui transitent par le réseau.

Pour charger les données souhaitées, recherchez à nouveau « Restaurants de New York ». Vous pouvez ensuite saisir « rechercher » dans la zone de recherche du panneau Réseau pour filtrer les URL de recherche.

Cela révélera les URL associées à votre recherche récente. Dans ce cas, les données que nous souhaitons se trouvent dans la première requête GET, qui fournit les données des restaurants au format JSON.
Si vous cliquez sur la ligne contenant la demande, un nouveau volet de droite s'affiche. Le volet donne plus d'informations sur la demande. Sous le En-têtes tabulation, sélectionnez et copiez l'URL. C'est l'URL utilisée pour acquérir les données affichées sur Google Maps. C'est l'URL que nous utiliserons pour extraire les données des restaurants.

Voici l'URL que nous avons récupérée :
1 | https://www.google.com/search?tbm=map&authuser=0&hl=en&gl=ke&pb=!4m12!1m3!1d13288.926258283986!2d-74.02334913898135!3d40.73841320805614!2m3!1f0!2f0!3f0!3m2!1i1366!2i211!4f13.1!7i20!10b1!12m8!1m1!18b1!2m3!5m1!6e2!20e3!10b1!16b1!19m4!2m3!1i360!2i120!4i8!20m65!2m2!1i203!2i100!3m2!2i4!5b1!6m6!1m2!1i86!2i86!1m2!1i408!2i240!7m50!1m3!1e1!2b0!3e3!1m3!1e2!2b1!3e2!1m3!1e2!2b0!3e3!1m3!1e3!2b0!3e3!1m3!1e8!2b0!3e3!1m3!1e3!2b1!3e2!1m3!1e10!2b0!3e3!1m3!1e10!2b1!3e2!1m3!1e9!2b1!3e2!1m3!1e10!2b0!3e3!1m3!1e10!2b1!3e2!1m3!1e10!2b0!3e4!2b1!4b1!9b0!22m6!1sVgY-YP-eBdqg5NoPuc2f4A8:2!2s1i:0,t:11886,p:VgY-YP-eBdqg5NoPuc2f4A8:2!7e81!12e5!17sVgY-YP-eBdqg5NoPuc2f4A8:92!18e15!24m54!1m16!13m7!2b1!3b1!4b1!6i1!8b1!9b1!20b0!18m7!3b1!4b1!5b1!6b1!9b1!13b0!14b0!2b1!5m5!2b1!3b1!5b1!6b1!7b1!10m1!8e3!14m1!3b1!17b1!20m2!1e3!1e6!24b1!25b1!26b1!29b1!30m1!2b1!36b1!43b1!52b1!54m1!1b1!55b1!56m2!1b1!3b1!65m5!3m4!1m3!1m2!1i224!2i298!89b1!26m4!2m3!1i80!2i92!4i8!30m0!34m16!2b1!3b1!4b1!6b1!8m4!1b1!3b1!4b1!6b1!9b1!12b1!14b1!20b1!23b1!25b1!26b1!37m1!1e81!42b1!47m0!49m1!3b1!50m4!2e2!3m2!1b1!3b1!65m0!69i544&q=New york restaurants&oq=New york restaurants&gs_l=maps.3..38i39i129k1j38i39i129i444k1j38i426k1l3.0.0.2.48644.1.1.0.0.0.0.713.713.6-1.1.0....0...1ac..64.maps..0.1.713....0.&tch=1&ech=2&psi=VgY-YP-eBdqg5NoPuc2f4A8.1614677593039.1 |
Ensuite, nettoyons l’URL de la requête en supprimant les paramètres de chaîne de requête suivants qui peuvent ne pas être nécessaires :
- oq
- gs_l
- tch
- tous
- psi
Voici à quoi ressemble l'URL finale :
1 | https://www.google.com/search?tbm=map&authuser=0&hl=en&gl=ke&pb=!4m12!1m3!1d13288.926258283986!2d-74.02334913898135!3d40.73841320805614!2m3!1f0!2f0!3f0!3m2!1i1366!2i211!4f13.1!7i20!10b1!12m8!1m1!18b1!2m3!5m1!6e2!20e3!10b1!16b1!19m4!2m3!1i360!2i120!4i8!20m65!2m2!1i203!2i100!3m2!2i4!5b1!6m6!1m2!1i86!2i86!1m2!1i408!2i240!7m50!1m3!1e1!2b0!3e3!1m3!1e2!2b1!3e2!1m3!1e2!2b0!3e3!1m3!1e3!2b0!3e3!1m3!1e8!2b0!3e3!1m3!1e3!2b1!3e2!1m3!1e10!2b0!3e3!1m3!1e10!2b1!3e2!1m3!1e9!2b1!3e2!1m3!1e10!2b0!3e3!1m3!1e10!2b1!3e2!1m3!1e10!2b0!3e4!2b1!4b1!9b0!22m6!1sVgY-YP-eBdqg5NoPuc2f4A8:2!2s1i:0,t:11886,p:VgY-YP-eBdqg5NoPuc2f4A8:2!7e81!12e5!17sVgY-YP-eBdqg5NoPuc2f4A8:92!18e15!24m54!1m16!13m7!2b1!3b1!4b1!6i1!8b1!9b1!20b0!18m7!3b1!4b1!5b1!6b1!9b1!13b0!14b0!2b1!5m5!2b1!3b1!5b1!6b1!7b1!10m1!8e3!14m1!3b1!17b1!20m2!1e3!1e6!24b1!25b1!26b1!29b1!30m1!2b1!36b1!43b1!52b1!54m1!1b1!55b1!56m2!1b1!3b1!65m5!3m4!1m3!1m2!1i224!2i298!89b1!26m4!2m3!1i80!2i92!4i8!30m0!34m16!2b1!3b1!4b1!6b1!8m4!1b1!3b1!4b1!6b1!9b1!12b1!14b1!20b1!23b1!25b1!26b1!37m1!1e81!42b1!47m0!49m1!3b1!50m4!2e2!3m2!1b1!3b1!65m0!69i544&q=New york restaurants |
Étape 2 : Examiner les données renvoyées
Nous allons maintenant effectuer une requête à l'aide de l'URL récupérée et examiner à quoi ressemblent les données renvoyées. Cela aidera à créer la logique de scraping à l'étape suivante.
Nous utiliserons le Bibliothèque PHP cURL pour effectuer une requête GET et récupérer les données Google Maps. Crawlbase nécessite que les URL soient encodées, nous utiliserons le codeurl() fonction permettant d'encoder l'URL récupérée.
Dans ce cas, nous utiliserons Crawlbasele jeton normal pour effectuer la demande.
Voici le code:
1 |
|
Si nous exécutons le code ci-dessus, voici le résultat que nous obtenons sur un navigateur :

Si vous collez les données renvoyées sur un outil de validation JSON comme cette visionneuse JSON, vous pouvez faire quelques observations utiles. Par exemple, vous remarquerez que la suppression des quatre premiers caractères permet d'obtenir des données dans un format JSON valide.

Vous remarquerez également que les données sont contenues dans des tableaux, qui sont imbriqués les uns dans les autres. Par exemple, les données des 20 premiers restaurants sont contenues dans la section marquée suivante :

Si nous développons un tableau, nous pouvons trouver des informations sur chaque restaurant. Par exemple, si nous développons le tableau imbriqué numéro 1, vous remarquerez que les détails du restaurant sont contenus dans le tableau numéro 14. C'est le modèle qui se retrouve dans toutes les données.
Par exemple, le nom du restaurant est au numéro 11 :

L'emplacement du restaurant est au numéro 18 :

Le numéro de téléphone du restaurant est au numéro 178 :

Étape 3 : Créer la logique de scraping
Comme nous l'avons mentionné précédemment, la suppression des quatre premiers caractères des données renvoyées permet de les convertir en un format JSON valide. Cela permettra d'effectuer des itérations sur les données.
Voici le code pour faire ça :
1 | $response_data = substr($response_data, 4-1); |
En outre, le remplacement du nul les valeurs avec des chaînes vides dans la réponse renvoyée facilitent la gestion des données.
Voici le code pour faire ça :
1 | $response_data = str_replace("nul,", '"",', $response_data); |
Ensuite, utilisons le intégré json_decode fonction pour convertir les données de la chaîne JSON en une variable d'objet PHP. Nous allons également définir le oui paramètre pour convertir l'objet renvoyé en un tableau associatif.
Voici le code:
1 | $scraped_data = json_decode($response_data, oui); |
Ensuite, utilisons le Isset fonction permettant de vérifier si les données des restaurants existent. Nous placerons le reste de la logique de scraping à l'intérieur de cette fonction.
Alors, utilisons le foreach boucle pour parcourir le tableau et trouver les instances où apparaît le tableau numéro 14. N'oubliez pas que les données dont nous avons besoin sont contenues dans le tableau numéro 14.
Enfin, trouvons les occurrences des noms, des emplacements et des numéros de téléphone des restaurants.
Voici le code:
1 | if (Isset($scraped_data[0][1])) |
Résumé
Voici le code complet pour utiliser Crawlbase pour gratter Google Maps :
1 |
|
Si nous exécutons le code, voici le résultat que nous obtenons (il est tronqué pour plus de concision) :

Nous l'avons fait!
Nous avons réussi à extraire des données de Google Maps.
Récupérez les données de Google Maps avec Crawlbase
Voilà comment récupérer Google Maps en utilisant Crawlbase. Avec Crawlbase, vous pouvez extraire des données cartographiques rapidement et efficacement, tout en restant anonyme.
C'est l'outil dont vous avez besoin pour extraire des données en ligne sans vous soucier des restrictions d'accès. Vous pouvez l'utiliser pour extraire des informations non structurées de n'importe quelle page Web et importer facilement les données dans votre environnement de travail.
Cliquez ici pour créer gratuit Crawlbase Compte.
Bon grattage !