Open Source im professionellen Einsatz

Yahoo-Dienste für eigene Skripte verwenden

Ozapft is

Neben Google, Amazon und Ebay bietet neuerdings auch Yahoo eine Programmierschnittstelle zu einigen seiner Dienste an. Drei einfache Perl-Skripte stöbern heute damit Tippfehler, Internetbildchen und verschollen geglaubte Klassenkameraden auf.

Immer mehr Internetanbieter stellen ihre Dienste nicht nur über eine Browserschnittstelle ins Netz, sondern erlauben es Entwicklern, sie in ihre eigenen Applikationen mittels Web-APIs einzuklinken. Yahoo bietet seit neuestem ein REST-Interface (Representational State Transfer, in der Praxis: URLs hin, XML zurück) zu seiner Such-Engine an. Dazu gibt es natürlich auch das passende Perl-Modul Yahoo::Search, erhältlich im CPAN und entwickelt von einem Kollegen bei Yahoo, dem großen Regex-Spezialisten Jeffrey Friedl.

Es vereinfacht die Suche nach Dokumenten, Bildern, Videos und einiges mehr. HTTP-Zugriffe und XML-Extraktion sind sauber hinter einfachen Methodenaufrufen versteckt. Wer eine Applikation entwickeln möchte, holt sich einfach eine eigene Application-ID ab. Sie berechtigt zu 5000 Aufrufen der in diesem Artikel vorgestellten Dienste pro Tag. Die Registrierung auf[2] erfordert eine eigene Yahoo-ID, die es ebenfalls kostenlos gegen die Angabe einer gültigen E-Mail-Adresse gibt. Es empfiehlt sich allerdings auch ein Blick in das Privacy Statement, das unter anderem beschreibt, wofür Yahoo die Mailadresse verwenden möchte.

Meinten Sie ...?

Wer nicht genau weiß, wie ein bestimmtes Wort geschrieben wird, greift zum Duden oder einem Englisch-Wörterbuch. Allerdings finden sich darin manche aktuellen oder gerade modischen Wörter, Begriffe der Popkultur oder Eigennamen nicht. In solchen Fällen hilft das Internet weiter. Die meisten Such-Engines bieten "Did you mean?"-Funktionen an. Zu Suchwörtern, die ihnen unverständlich erscheinen, schlagen sie korrigierte Schreibweisen vor.

Das Programm »typo« beispielsweise (siehe Listing 1 ) ruft über die Methode »Term()« den Korrektur-Webservice bei Yahoo auf:

$ typo foo foughters
Corrected: foo fighters


Wer also ein Lied im Radio hört, aber den Bandnamen nicht richtig versteht, gibt einfach das Gehörte in die Suchmaschine ein. Falls die Gruppe recht bekannt ist, kann es die Korrektur möglicherweise richten.

Listing 1 zeigt die Implementierung: Die »use«-Anweisung in Zeile 9 holt das zuvor mit einer CPAN-Shell installierte Modul Yahoo::Search rein und übergibt ihm die vorher von[2] abgeholte Application-ID. An dieser Stelle sind dieses Skript und die beiden folgenden vor dem Einsatz entsprechend anzupassen.

Die Methode »Terms()« nimmt mit dem Parameter »Spell« ein Wort oder eine Wortfolge entgegen, schickt sie an den Service auf der Yahoo-Seite, untersucht das zurückgeschickte XML und fieselt eine etwaige Antwort heraus. Zeile 11 legt sie in der Variablen »$suggestion« ab. Das anschließende If-else-Konstrukt gibt entweder die Antwort aus oder, falls der Such-Engine nichts zum untersuchten Begriff eingefallen ist, »No corrections«. Leider hinkt die Internationalisierung des Service noch etwas hinterher und zu Wörtern mit Umlauten fallen ihm noch keine Korrekturen ein.

Auf der Suche nach der verlorenen Zeit

Die Spiders der Search-Engines grasen ständig das bekannte Internet nach neu auftauchenden Informationen ab. Entsprechend ändern sich die Suchresultate zu bestimmten Begriffen. Wer einmal am Tag eine Abfrage mit den Namen seiner alten Schulkameraden abschickt, bekommt mit, falls diese neue Homepages aufziehen oder zu Rang und Namen kommen. Natürlich hat niemand die Zeit, das jeden Tag manuell durchzuführen. Auch könnte man sich schwer die Resultate merken.

Abbildung 1: Alte Klassenkameraden sind im Web aufgetaucht. Das Skript verschickt eine Zusammenfassung der Treffer via E-Mail.

Abbildung 1: Alte Klassenkameraden sind im Web aufgetaucht. Das Skript verschickt eine Zusammenfassung der Treffer via E-Mail.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook