2012-12-25 3 views
24

Ich versuche, alle "Restaurants" oder "Versicherungsagenturen" zum Beispiel in einer Stadt oder einem Land zu finden. Okay, vielleicht ist ein Land zu breit, aber hauptsächlich große Städte.Wie erhalten Sie alle Orte (oder bestimmte Orte wie Restaurants) in einer Stadt oder einem Land mit Google Places API?

Ich benutze die Google Places API und Python, aber ich sehe, dass Sie nur einen "Radius" -Parameter oder "rankby = Abstand" verwenden können. Das Problem ist, dass ich laut den Dokumenten glaube, dass jede Abfrage nur 20 Ergebnisse auf 3 Seiten oder 60 Ergebnisse zurückgeben kann (korrigiere mich, wenn ich falsch liege). Wenn ich zum Beispiel alle Restaurants in New York finden möchte, müsste ich in der Mitte oder so etwas anfangen und "rankby = distance" einstellen, so dass es mir die 60 engsten Ergebnisse innerhalb eines bestimmten Radius geben würde. Aber dann weiß ich nicht, was meine nächste Frage wäre ...

Irgendwelche Ideen, wie man das macht?

Antwort

28

Leider können Sie nicht mehr als 60 Ergebnisse aus dem Google Places-API abrufen. zumindest nicht ohne die Nutzungsbedingungen zu brechen:

Sofern Sie vor Genehmigung von Google geschrieben erhalten haben (oder, soweit anwendbar, vom Anbieter von bestimmtem Inhalt), müssen Sie nicht: (d) verwenden die Produkte in einer Art und Weise , die Sie oder eine andere Person Zugriff auf Massen-Downloads oder Bulk Feeds von Inhalten, einschließlich, aber nicht beschränkt auf numerische Breite oder Längenkoordinaten, Bilder und sichtbaren Kartendaten

gibt Ferner , wie Sie 0 lesen können

Es ist zu einem großen Teil ein Lizenzproblem. Aber es ist auch, weil das Ziel der Places API ist nicht zu erleichtern Scraping oder Aggregation von Google Places Daten in der Art, wie Sie beschreiben. Jede Anwendung, die so tut, ist mit ziemlicher Sicherheit nicht konform mit dem Google Maps oder Google Maps API-Nutzungsbedingungen, und wird wahrscheinlich von der Nutzung der API oder andere Google-Dienste jederzeit gesperrt werden. Die Places-API soll Apps ermöglichen, ihren Benutzern eine Möglichkeit zu bieten, Orte in der Nähe zu identifizieren. Es gibt ein praktisches Limit für die Anzahl der Such- Ergebnisse, die ein Benutzer durchforsten und betrachten wird. Ich glaube nicht, ist es notwendig, Benutzer 200 Ergebnisse anzubieten, und ich vermute, dass dabei würde nur dazu dienen, die Entwicklung von Anwendungen, die Google Places Daten zu kratzen, ohne signifikante Nutzen oder Dienstprogramm zu die Arten von Apps die API zu erhöhen soll dienen, und das möchten wir fördern.

Als eine weitere Referenz, schauen Sie sich auch this answer.

0

aus meinem Verständnis .. würden wir Verwendung Quer api Referenz in meinem Szenario in verwenden würde Verschachtelung von Asynchron-WCF Aufruf Bereich geteilt durch begrenzten Aufruf festgelegt google

4

Verwenden Radar Suche empfehlen. Überprüfen Sie die Dokumentation here.

Sie können 200 Ergebnisse auf einmal erhalten, aber es werden 5 Anfragen von Ihrem Kontingent benötigt. Die Ergebnisse haben weniger Details im Vergleich zur Suche in der Nähe, aber Sie können dies immer mit der Suche nach Ortsdetails erreichen.

Hoffe, das hilft.

Hinweis: Radar Suche zum 30. Juni ist veraltet, 2018. Nach dieser Zeit, wird diese Funktion nicht mehr zur Verfügung steht.

4

Ich habe so ein Werkzeug vor einer Weile https://github.com/Pithikos/Geoexplorer gemacht. Sie können sehen, here wie es aussieht.

Ich habe sogar ein funktionierendes Beispiel mit Google Places, das Sie verwenden können, wenn Sie einen API-Schlüssel haben.

  1. git clone https://github.com/Pithikos/Geoexplorer.git
  2. Ihr API-Schlüssel in dem Diese benannte Datei examples/google_radar_search.py ​​
  3. python3 examples/google_radar_search.py
  4. öffnen GUI/index.html in einem Browser

hinzufügen für Lebensmittel aussehen "ICA" in einem großen Gebiet in Schweden. Sie können den gescannten Bereich unter config.py und Ihre Suchanfragen unter google_radar_search.py ​​ konfigurieren.

Dies sollte auf jedem Ubuntu nach 13.10 gut laufen. Wenn Sie Windows oder eine frühere Version verwenden, lesen Sie here (die Installieren Sie Abhängigkeiten Abschnitt).

Sie können auch andere Dienste hinzufügen, die Ihnen gefallen, indem Sie die API verwenden. Denken Sie daran, bei der Verwendung nicht gegen die Richtlinien von Google oder eines anderen Unternehmens zu verstoßen. Ich habe dies nur gemacht, um zu testen, welcher Dienst mir die besten Ergebnisse geben würde, bevor ich mich entscheiden würde, welche von ihnen zu verwenden wäre.

2

Leider möchte Google nicht, dass Menschen dies tun können, und so entwerfen sie ihre API, um Menschen daran zu hindern, solche Dinge zu tun. Es gibt jedoch Alternativen. Wenn Sie dies mit API-Zugriff tun möchten, ist Factual der Führer; Sie haben 102 Millionen Einträge in 50 Ländern.

Verwandte Themen