Google Weather API – Auch hier gibt’s eine Blacklist

Es ist ja bekannt, dass Google eine zwar nicht offiziell dokumentierte aber dennoch frei zugängliche Wetter API bietet. Diese liefert auf Anfrage per Suchstring oder Koordinaten alle wichtigen Wetterdaten und eine Vorhersage per XML zurück. Die Funktionsweise und Nutzung ist im Netz ja inzwischen hinlänglich dokumentiert (oder auch hier).
Zwischenzeitlich hat Google dann mal Details der API verändert, so wurden z.B. neue Icons eingeführt. Inzwischen werden aber scheinbar wieder die alten Icons zurückgegeben. Mutmaßlich machen sich die Jungs von Google auch einen Spaß daraus. Da man diese Icon-Namen in der Regel nutzt um ein Mapping zu den eigenen Icons herzustellen empfiehlt es sich wohl, beide Versionen zu unterstützen.
Zum eigentlichen Problem: Um die Sache etwas flexibler zu gestalten, habe ich mich entschlossen, die Anfragen meiner Nutzer über einen eigenen Server umzuleiten. So würde man schneller auf Änderungen seitens Google reagieren können. Also fix per PHP eine eigene API zusammengeschraubt, die sich bei einer Anfrage einfach die Daten von Google holt, diese parst und in einem eigenen Format verpackt wieder ausspuckt.
Das funktionierte anfangs auch ganz prima und als interessanten Nebeneffekt konnte ich die Anfragen der Nutzer protokollieren. Bis zwei Tage später meine API plötzlich streikte und keine vernünftigen Daten mehr ausspuckte. Erst dachte ich Google hat seine API diesmal grundlegend geändert, aber nichts dergleichen:
Von diesem Moment an, lieferte die Anfrage den HTTP Statuscode 302 mit der Bemerkung “Moved” und einem Link. Folgte man dem Link, gelangt man zu einer Captcha-Anfrage. Hat man diese richtig beantwortet spuckt die API auch die geforderten Daten aus.
Offenbar lösen häufige Anfragen von ein und der selben IP diese Sicherheitsabfrage aus. Scheinbar spielen auch andere Faktoren, als nur die Anzahl der Anfragen pro Stunde eine Rolle. Vermutlich verhält es sich ähnlich wie die Captcha-Sperre bei normalen Suchanfragen. Das System nutzt anschließend ein kurzzeitig gültiges Cookie um den Weg frei zu geben. Interessant wäre es heraus zu finden, wie lange eine IP auf dieser Blacklist verbleibt. Nach jetzt gut 24 Stunden habe ich noch keinen Zugang. Ich befürchte ja auch, dass ich durch jeden neuen Zugriff die Frist wieder aufs neue verlängere. Ich werde also mal das Intervall schrittweise verlängern…
Nun gibt es ja Mittel und Wege um solch ein Captcha zu besiegen, allerdings sind diese für meine einfache “API-Umleitung” kaum praktikabel. Aus diesem Grund musste ich auf eine andere, meines Erachtens nach, schlechtere Wetter-Datenquelle zurückgreifen.

