Archive for the ‘YQL’ tag
Mit Wetterdaten arbeiten: Yahoo Weather API
Yahoo bietet, ähnlich wie Google und wetter.com auch eine Wetter-API, allerdings ist diese etwas gewöhnungsbedürftig. Die API gibt einen RSS-Feed zurück, woraus man dann seine Informationen parsen kann. Früher konnte man einfach einen Suchbegriff (Ort oder Postleitzahl) nehmen und die folgende URL aufrufen:
http://weather.yahooapis.com/forecastrss?p=59302
Das geht mittlerweile nicht mehr, da Yahoo bei vielen seiner Dienste auf WOEID [WHERE-ON-EARTH-ID] umgestiegen ist. Die WOEID ist eine Zahl, die einen Ort beschreibt. Um diese WOEID zu bekommen schreibt Yahoo in seiner Weather-API-Beschreibung, dass man auf weather.yahoo.com gehen soll, dort das Land wählt und dann seine Stadt sucht. In der URL sieht man dann die WOEID, die man dann in die folgende URL einsetzt:
(u=c steht für deutsche Maßeinheiten: Grad Celsius und km/h, wenn man diesen Parameter wegläßt erhält man amerikanische Werte):
http://weather.yahooapis.com/forecastrss?w=12834995&u=c
Und erst dann erhält man die Vorhersage. Eine schöne Such-API bzw. eine Möglichkeit, nach einem Städtenamen per API zu suchen bietet Yahoo Weather nicht direkt, man kann aber den Umweg über Yahoo’s YQL gehen, wo man mit dem folgenden Query Geo Places, sprich Orte suchen kann:
Weiterlesen »
Yahoo! Query Language (YQL) erklärt
Vorwarnung: Dieser Post ist relativ lang, aber mit vielen Beispielen gefüllt und sehr interessant wie ich finde. Wer durchhält, wird belohnt!
Wer von euch schonmal auf Web-APIs zugegriffen hat weiß dass die APIs alle unterschiedlich sind, ein einheitlicher Zugriff ist nicht möglich. Des weiteren möchte man eventuell Daten von Webseiten abgreifen, z.B. direkt aus einer Tabelle Wetterdaten oder Flugdaten auslesen. Dazu muss man den HTML-Code laden, parsen und die Informationen extrahieren.
Für dies und vieles mehr kann man die Yahoo Query Language (YQL) einsetzen. YQL ist eine SQL-ähnliche Sprache um den Yahoo-Servern eine Aufgabe zu geben, die Mengen von Daten betreffen, die die Yahoo-Server sammeln und das Ergebnis berechnen, welches man dann in einer einheitlichen XML-Antwort oder als JSON erhält.
Wer sich das nicht vorstellen kann, hier ein paar Einführungsbeispiele: