web-dev-qa-db-fra.com

Comment obtenir tous les lieux (ou un type de lieu spécifique tel qu'un restaurant) dans une ville ou un pays avec l'API Google Adresses?

J'essaie de trouver tous les "restaurants" ou "agences d'assurance" par exemple, dans une ville ou un pays. D'accord, peut-être qu'un pays est trop large mais principalement de grandes villes.

J'utilise l'API Google Places et python mais je vois que vous ne pouvez utiliser qu'un paramètre "radius" ou "rankby = distance". Le problème est que, selon les documents, je crois que chaque requête ne peut renvoyer que 20 résultats sur 3 pages, ou 60 résultats (corrigez-moi si je me trompe). Donc, si je voulais trouver tous les restaurants à New York par exemple, je devrais commencer par le centre ou quelque chose et définissez "rankby = distance" pour qu'il me donne les 60 résultats les plus proches dans un rayon défini. Mais je ne sais pas quelle serait ma prochaine requête ...

Des idées sur la façon de procéder?

30
Marcus Johnson

Malheureusement, vous ne pouvez pas obtenir plus de 60 résultats de l'API Google Adresses; du moins pas sans rompre les conditions de service:

Sauf si vous avez reçu une autorisation écrite préalable de Google (ou, le cas échéant, du fournisseur d'un Contenu particulier), vous ne devez pas: (d) utiliser les Produits d'une manière qui vous donne, à vous ou à toute autre personne, accès aux téléchargements de masse ou aux flux en masse de tout contenu, y compris, mais sans s'y limiter, les coordonnées numériques de latitude ou de longitude, les images et les données cartographiques visibles

De plus, comme vous pouvez le lire ici :

C'est en grande partie un problème de licence. Mais c'est aussi parce que le but de l'API Places n'est pas de faciliter le grattage ou l'agrégation des données Google Places de la manière que vous décrivez. Toute application qui le fait n'est certainement pas conforme aux conditions d'utilisation de Google Maps ou de l'API Google Maps et est susceptible d'être bloquée à tout moment à l'aide de l'API ou d'autres services Google. L'API Places est destinée à permettre aux applications d'offrir à leurs utilisateurs un moyen de découvrir d'identifier les lieux à proximité. Il existe une limite pratique au nombre de résultats de recherche qu'un utilisateur parcourra et considérera. Je ne pense pas qu'il soit nécessaire d'offrir aux utilisateurs 200 résultats, et je pense que cela ne servirait qu'à augmenter le développement d'applications qui grattent les données de Google Places, sans ajouter d'avantages ou d'utilités significatifs aux types d'applications que l'API est destinée à servir. , et que nous souhaitons encourager.

Comme référence supplémentaire, jetez également un œil à cette réponse .

30
user1419445

Utilisez la recherche radar. Consultez la documentation ici .

Vous pouvez obtenir 200 résultats en une seule fois, mais cela prendra 5 demandes de votre quota. Les résultats contiennent moins de détails par rapport à la recherche à proximité, mais vous pouvez toujours les obtenir en utilisant la recherche des détails de lieu.

J'espère que cela t'aides.

Remarque: la recherche radar est obsolète à compter du 30 juin 2018. Passé ce délai, cette fonctionnalité ne sera plus disponible.

4
Rahul Sainani

J'ai fait un tel outil il y a quelque temps https://github.com/Pithikos/Geoexplorer . Vous pouvez voir ici à quoi cela ressemble.

J'ai même un exemple de travail avec Google Places que vous pouvez utiliser si vous avez une clé API.

  1. git clone https://github.com/Pithikos/Geoexplorer.git
  2. Ajoutez votre clé API dans les exemples de fichiers/google_radar_search.py
  3. python3 examples/google_radar_search.py
  4. Ouvrez GUI/index.html dans un navigateur

Cela permettra de rechercher des produits d'épicerie nommés "ICA" dans une grande région de Suède. Vous pouvez configurer la zone en cours d'analyse dans config.py et vos requêtes de recherche dans google_radar_search.py ​​.

Cela devrait fonctionner correctement sur n'importe quel Ubuntu après 13.10. Si vous utilisez Windows ou une version antérieure, lisez ici (la section Installer les dépendances ).

Vous pouvez également ajouter tout autre service que vous souhaitez en utilisant l'API. Gardez à l'esprit de ne pas enfreindre la politique de Google ou de toute autre entreprise lors de son utilisation. Je l'ai fait uniquement pour tester quel service me donnerait les meilleurs résultats avant de décider lequel utiliser.

4
Pithikos

Malheureusement, Google ne veut pas que les gens puissent le faire, et ils conçoivent donc leur API pour empêcher les gens de faire des choses comme ça. Cependant, il existe des alternatives. Si vous voulez le faire avec un accès API Factual est le leader; ils ont 102 millions d'entrées dans 50 pays.

2
user6016034

J'ai créé un robot sur la recherche Google Map, vous pouvez l'utiliser pour ce cas d'utilisation. Vous pouvez vérifier le robot ici .

1
drobnikj

d'après ma compréhension .. nous recommandons d'utiliser une référence API croisée dans mon scénario.

0
Rizwan Patel