a0625461 [Main]

Aufgabe 3: Projektarbeit zu einem Thema (up)

Aufgabenstellung (up)

Es sollen Suchergebnisse mittels APIs zu beliebigen Themen abgerufen und auf Gleichheit verglichen werden. In der ursprünglichen Projektpräsentation wurden Google, Bing und Yahoo gewählt. 
Aufgrund von geänderten Produkt- und Unternehmensstrategien gibt es aber von Google "nur mehr" die Google Custom Search API, welche mit "Tricks" zu einer Webweiten Suchmaschine umgebaut werden kann. 
Yahoo BOSS wurde von einer Gratis API zu einer Bezahl API umgestellt. 
Als Alternative zu Yahoo sollte die Entireweb API dienen. Es war mir aber selbst nach ausgiebiger Suche im Internet nicht möglich herauszufinden wie man sich zum Entwicklungsprogramm anmeldet. 
 
Daher ist der momentane Funktionsumfang der folgende: 
  1. Abfrage von Suchergebnissen via Google Custom Search Enginge und Bing Search API 
  2. Vergleich der Beiden gegeneinander 
  3. Präsenation der Ergebnisse 

Dokumentation (up)

Die Dokumentation des Projekts findet überwiegenden Teils im Sourcecode selbst statt. 
An gegebener Stelle sind Kommentare eingefügt die die Funktionalität erklären. 
Konkret sind Funktionen nach PHPDoc Standard kommentiert und Übergabe- sowie Rückgabewert und Exceptions angeführt. 
 
Um die Applikation zum Laufen zu bekommen benötigt man momentan folgende Daten:  
(Für Präsentations und Testzwecke sind meine Daten eingetragen. Nach dem Ende der Lehrveranstaltung werde ich diese Daten entfernen und den reinen Sourcecode zur Verfügung stellen.) 
 
Bei den konkreten Suchfunktionen habe ich mich in der Implementierung an die API Dokumentationen angelehnt. 
 
Zusatzfunktionen wie zb get_data() sind Hilfsfunktionen um Hostbeschränkungen zu überwinden (im Konkreten Fall fopen erlaubt keine URLs) 
 
Die Vergleichsoperationen erfolgen mit PHP Boardmitteln (array_diff, array_intersect). 
 
Die Darstellung greift auf HTML + CSS + Jquery zurück. Hier werden auch ausschließlich Boardmittel verwendet. Diese dienen aber nur der schöneren Darstellung und könnten theoretisch komplett weggelassen werden. Bei der Farbgebung habe ich mich von Adobe Kuler inspirieren lassen. 
 
 

Abgabe (up)

Beispielhafter Programmablauf 
Beim Aufrufen von search.php oder index.htm erscheint folgende Maske. 
In dieser Maske wird das Programm erklärt und der Benutzer wird aufgefordert einen Suchbegriff einzugeben. 
Einstiegsbildschirm
Abbildung 1: Einstiegsbildschirm
 
Nachdem ein Suchbegriff eingegeben wurde, wird dieser bearbeitet. Dies dauert einige Sekunden. 
Danach erscheint die Ergebnisseite. Hier Screenshots aus der Demo und im Anhang alle Ergebnisse als Dateien um ohne API Limits testen zu können. 
Beispielhaftes Ergebnis für den Suchbegriff "Blumengeschäft Wien"
Abbildung 2: Beispielhaftes Ergebnis für den Suchbegriff "Blumengeschäft Wien"
 
Zu allen Suchergebnissen gibt es eine Detaildarstellung, die durch klick auf die unterstrichenen Links angezeigt wird. 
Details zu den Beispielergebnissen
Abbildung 3: Details zu den Beispielergebnissen
 
Alle Suchdaten kommen direkt aus den API Schnittstellen und werden durch Aufbereitung der JSON Ergebnisdaten erhalten. 
Zum besseren Verständnis hier beispielhaft eine aufbereitete Version des JSON Ergebnisses der Bing Such API. 
Json Dateiaufbau des Bing Suchergebnisses für "Blumengeschäft Wien"
Abbildung 4: Json Dateiaufbau des Bing Suchergebnisses für "Blumengeschäft Wien"
 
 
Projekt 
In diesem ZIP File befinden sich alle Dateien in der Version, in der sie am 27.05.2013 präsentiert wurden. 
 
Live Version: «http://devel.cadoc.org/KMB-Praktikum/search.php» 
 
Nach dem Ende der LVA werde ich die Daten aktualisieren und die persönlichen API Daten löschen. 
Letzte Änderung: 10.06.2013, 11:48 | 498 Worte