Google Maps Autocomplete - Maps-Suchvorschläge als strukturierte Zeilen
Tippen Sie die ersten Buchstaben von irgendetwas in Google Maps, und es schlägt zehn Vervollständigungen vor. Sie stammen aus dem, wonach Menschen auf Maps tatsächlich suchen, und sind damit ein direkter Blick darauf, wie Kundschaft nach einer Kategorie fragt - die Kurzformen, die Beinahe-Synonyme, die ortsüblichen Formulierungen, die in keiner internen Systematik stehen. Dieser Dienst macht aus diesem Menü eine Tabelle: eine Zeile je Vorschlag, vier Spalten, exportiert als CSV, JSON oder Excel, für so viele Ausgangsanfragen, wie Sie einreichen möchten. Die veröffentlichte Referenz akzeptiert den Parameter query als Array und bündelt bis zu tausend Anfragen in einem einzigen Request.
Der Export hat zwei Eigenschaften, die in entgegengesetzte Richtungen ziehen, und beide zu verstehen ist die ganze Aufgabe. Seine Größe ist perfekt vorhersehbar: Jede Ausgangsanfrage liefert genau zehn Vorschläge - das galt in jedem von uns gemessenen Block, ohne kurze und ohne lange Blöcke - Zeilen entspricht also Anfragen mal zehn, bekannt, bevor Sie etwas ausgeben. Sein Inhalt ist überhaupt nicht vorhersehbar. Wir haben eine Anfrage sechsmal ausgeführt und sechs verschiedene Listen erhalten, wobei nur vier ihrer zehn Vorschläge den ersten beiden Läufen gemeinsam waren; eine andere Anfrage teilte zwischen den Läufen lediglich zwei von zehn. Maps Autocomplete ist eine lebendige Oberfläche, keine Nachschlagetabelle, und ein einzelner Abruf ist eine Anekdote, keine Antwort.
Mit dieser Unbeständigkeit lässt sich arbeiten, sobald man aufhört, gegen sie anzukämpfen. Erheben Sie jede Ausgangsanfrage mehrfach und ordnen Sie die Vervollständigungen danach, wie oft sie wiederkehren: Eine Formulierung, die in jeder Stichprobe auftaucht, ist wirklich belastbare Nachfragesprache, und eine, die nur einmal auftaucht, ist kein Handeln wert. Die Häufigkeit über Läufe hinweg ist hier die eigentliche Messung - was auch bedeutet, dass das Kostenmodell anders aussieht als bei den meisten Scrapern: Zehn Ausgangsanfragen je fünfmal zu erheben, ist ein besserer Einsatz desselben Budgets als fünfzig Anfragen einmal abzurufen. Zwei unserer Läufe kamen leer zurück; ein geplanter Job sollte daher erneut versuchen, statt anzunehmen, dass jeder Request etwas liefert.
Zwei kleinere Dinge sollten Sie richtig machen. Die Spalte position ist ein Rang innerhalb der Vorschlagsliste einer Anfrage, keine Zeilennummer: Sie läuft von 1 bis 10 und beginnt für die nächste Anfrage neu, sodass eine Datei mit fünfzig Ausgangsanfragen die Zahl 1 fünfzigmal enthält und das Gruppieren nach query jeder Sortierung vorausgehen muss. Und die Spalte coordinates ist eine zurückgespiegelte Eingabe - das Fragment @lat,lng,zoom aus einer Maps-URL, in jeder Zeile eines Laufs identisch - nicht der Standort des vorgeschlagenen Orts. Über unsere hundert Zeilen hinweg trug sie nur zwei verschiedene Werte, einer davon leer und der andere exakt der Standard, den die Referenz dokumentiert. Unsere Daten zeigen also, dass die Spalte existiert und Ihre Eingabe wiederholt, und sie zeigen nichts darüber, wie eine bewusst gewählte Koordinate die Ergebnisse verändert. Beachten Sie außerdem: Ein Vorschlag ist eine Formulierung und kein Eintrag - es gibt hier weder Place-ID noch Adresse oder Bewertung. Sammeln Sie die Formulierungen und übergeben Sie sie dann dem Maps-Scraper. Starten Sie kostenlos: Ihre ersten 500 Zeilen kosten nichts und brauchen keine Kreditkarte.