Kommentare 0

Kimono: Aus jeder Webseite eine API machen

Vor ein paar Wochen schrieb ich einen Beitrag über die Entwicklung von Film-Spielzeiten über die letzten Jahre hinweg. Die Methode habe ich zwar umschrieben, nicht jedoch, wie ich die Daten ausgelesen habe. Deshalb präsentiere ich euch heute Kimono.

Kimono ist ein Online-Service, mit welchem sich aus Webseiten schlichte APIs (also Programmierschnittstellen) generieren lassen. Wie diese dann benutzt werden, soll hier nicht Thema sein – da seid ihr die jeweiligen Spezialisten. Ich erkläre hier, wie ich eine IMDB-API erstellt habe, mit der ich alle Daten für meinen Kino-Blogeintrag beschafft habe.

Eine API mit Kimono erstellen.

Nach der kostenlosen Registrierung könnt ihr euch das „Create API“-Bookmarklet in eure Lesezeichen ziehen. Mit einem Klick darauf kann von einer Webseite aus dann eine API erstellt werden.

Ich tat dies auf der IMDB-Seite mit den Top-Filmen des Jahres 2013 (diese hier). Unten rechts werden nun APIs von anderen Nutzern eingeblendet, welche bereits für diese Seite erstellt wurden – das können wir jedoch getrost ignorieren und ausblenden.

Von jedem Film will ich den Titel, die Spielzeit und die Bewertung auslesen, jedem Element in der API sollen also diese drei Werte zugeschrieben werden. Jeder Wert wird dafür in einer sogenannten Property definiert und benannt. Nachdem der Name oben links eingetragen wurde, kann einfach per Klick definiert werden, welche Informationen in soeben benannte Property eingespiesen werden sollen. Automatisch werden auch andere, ähnliche Elemente markiert – in meinem Fall die anderen Titel. Diese können mit einem Klick auf den Haken bestätigt werden.

kimono-api-step-1-compressor

Im Kreis neben dem Property-Titel wird nun angezeigt, wie viele der soeben definierten Elemente auf dieser Webseite gefunden wurden – in meinem Fall sind es 10 Stück.

Als Nächstes definieren wir die Spielzeit-Werte. Das Vorgehen ist das gleiche wir vorhin: Neue Property hinzufügen, Namen geben, Werte per Klick selektieren und weitere Werte bestätigen und in diesem Fall auch andere Sektionen, die markiert wurden, auch ablehnen. So, dass am Ende nur noch die Spielzeiten angewählt sind.

kimono-api-step-2-compressor

Zu guter Letzt kommt noch die Property für die Bewertung (ohne das „/10“) hinzu. Gleiches Schema, hier auch wieder mit Bestätigen und Ablehnen der Vorschläge – bei mir wurde hier die 10 bei der Bewertung jeweils auch miteinbezogen, was ich jeweils ablehnen musste.

Um die API nicht nur für die erste Seite dieser IMDB-Rangliste zu erhalten, müssen wir Kimono beibringen, welcher Link zur nächsten Seite führt. Diese sogenannte Pagination können wir nach einem Klick auf das Buch-Icon oben rechts festlegen.

kimono-api-step-3-compressor

Die Struktur ist so nun definiert und kann mittels Struktur Icon (hier in der Mitte: kimono-api-structure-icon) angesehen werden. Ich habe hier zwei Daten-Sammlungen: eine für die Pagination (mit dem einen Link) und eine mit den definierten Werten. Sieht dies soweit gut aus, kann die API über den Done-Button gespeichert werden.

kimono-api-structure-compressor

Eine Kimono-API nutzen

Die API ist nun in meinem Kimono-Benutzerkonto und „My APIs“. Auf der API-Detailseite kann z.B. auch die URL angepasst werden, auf welche die API erstellt wurde. Dies ist eine Möglichkeit, nicht nur diese Seite, sondern auch andre Jahre oder Jahrzehnte zu mit der API auszulesen. Dies kann auch im Crawl-Setup umgestellt werden, beispielsweise auch mit einer ganzen Liste URLs. Hier kann auch die Frequenz eingestellt werden, mit welcher die URLs gescannt werden sollen. Und auch ein manueller Crawl kann hier gestartet werden.

kimono-api-step-4-compressor

Die API ist nun eigentlich fertig und kann benutzt werden. Sie kann natürlich über die URLs abgefragt werden. Diese sind mit Parametrisierungen, Tokens und Co. unter „API Docs“ aufgelistet. Für meinen Kino-Blogartikel habe ich mir die Daten jeweils heruntergeladen, um im Excel weiter auszuwählen. Natürlich bietet Kimono aber auch noch weitere Möglichkeiten von Haus aus an (unter „Use Data“):

kimono-api-use-compressor

Das war, so habe ich damals die ganzen Daten ausgelesen. Vielleicht baut auch ihr euch nun fleissig APIs zusammen. Ich freue mich auf eure Ideen in den Kommentaren.

Share on FacebookTweet about this on TwitterShare on LinkedInBuffer this pageEmail this to someone

Schreibe eine Antwort