Die freudige Nachricht Launch der ZEIT ONLINE Content-API beim Hackday kam am 23.11. online und seitdem wurden bereits mehrere Tools und Anwendungen auf Basis dieser API erstellt. Open Data einer der größten deutschen Zeitungen!
Die API hat mich von Anfang an überzeugt. Ein sehr gutes Beispiel das ich persönlich sehr empfehlenswert finde ist, dass bei der Registrierung für einen API-Key nur Name und Mailadresse verlangt wird und sofort der Key kommt. Kein nerviges Double-Opt-In und Mailbestätigungen und mehr, nein, schlicht und einfach der Key. Gut gemacht!
Um die API auszuprobieren habe ich ZEITinstant erstelt.
- Content-Suche: ZEITinstant Josef Ackermann
- Keyword-Suche: ZEITinstant Josef
Für beide Abfragen wird das gleiche Eingabefeld verwendet, der Präfix “k ” wird verwendet um eine Keyword- anstatt der Content-Suche zu verwenden.
Im Standard-Fall ist die API bei der Content-Abfrage beschränkt und der volle Umfang (inkl. Keywords, relevante Artikel, Kategorien und der Volltext) wird nicht ausgeliefert. Ist verständlich schließlich könnten das böse SEOs sofort für Scraping und Spinning wiederverwenden (und wer hat nicht schon daran gedacht
?).
Mein Code basiert auf dem ZEIT online jQuery Plugin (hier auf github) und wird folgendermaßen initialisiert:
var api = $('body').zon_api({
query:'Josef Ackermann*',
api_key:'123456.......',
endpoint:'content',
params:{fields:'subtitle,uri,title,href,snippet,teaser_title,teaser_text'},
limit: 10
});
Wobei api_key mit dem jeweils eigenen ersetzt, endpoint auf das gewünschte Ziel (bspw. content, keyword, product, …) und params auf die abzufragenden Attribute gesetzt werden muss.
Danach können mit einem api.retrieve() schon alle Daten geholt werden:
api.retrieve(0, function(data){
var result = data.get_result();
$('div#content h2').append(' (Ergebnisse: '+result.found+')');
$.each(result.matches, function(index, value){
var text = '<li><span>'+value.title+'</span>';
if(value.subtitle) text += ' - '+value.subtitle;
if(value.snippet) text += '<br>'+value.snippet+'... ';
if(value.href) text += '(<a href='+value.href+' target=_blank>Source</a>)';
text += '</li>';
$('div#content ul').append(text);
});
});
Die Verwendung ist echt einfach und es lassen sich einige schicke Sachen damit anstellen. Ich bin gespannt ob unser Freund Googlebot den Content via AJAX crawlt und indiziert. Aber genau das finden wir mit diesem Post heraus
Weitere gute Beispiele sind hier aufgelistet, besonders erwähnenswert sind:
- I/O Docs for the ZEIT ONLINE Content API
- Demo der Keyword Häufigkeit (analog zu diesem Projekt)
- Zeitword-Rätsel
- Zeitreise
- Maps auf Basis der Artikel
- Zeitly – Analyse der social visibility der Autoren
- Wahlatlas Niedersachsen (der diesmal leider nicht auf JSXGraph basiert)
- Nachtrag: Calendar of Meaningful Dates aus dem Sperrobjekt Weblog