Übungsblatt 3

Ausgabe: 20.11.2007
Abgabe: 27.11.2007, 14 Uhr

Aufgabe Kurzbeschreibung

Sie werden eine Website im World Wide Web crawlen, ähnlich wie die Suchmaschinen ihre Indizes aufbauen, indem Sie einen Crawler zum Einsatz bringen, um die Website zu indexieren. Hierbei wird das Crawling auf Seiten über wissenschaftliche Veröffentlichungen beschränkt. Sie können unterschiedliche Dokumenttypen indexieren, z.B. HTML, PDF. Mit dem Index werden Sie eine Suche implementieren, in der nach Links zu einer Veröffentlichung oder von einer Veröffentlichung gefragt werden kann.

Aufgabe 1: Website crawlen


Um eine Website zu crawlen, brauchen Sie ein Crawler. Dafür eignet sich Nutch, eine Erweiterung von Lucene. Sie können Nutch Java von http://lucene.apache.org/nutch/release herunterladen. Momentan ist die Version 0.8.1 oder 0.9 verfügbar.

Um einen Index zu erstellen, müssen Sie erst entschieden, was im Web Sie crawlen wollen. Um genügend wissenschaftliche Veröffentlichungen zu finden, nutzen Sie die CiteSeer Website (http:///citeseer.ist.psu.edu). Wählen Sie hier eine wissenschaftliche Veröffentlichung als Startseite aus (z.B. durch eine Suche von der CiteSeer Hauptseite nach einem technologischen Begriff).

Konfigurieren Sie den Crawler, um von der Seite dieser Veröffentlichung ein Crawl durchzuführen. Wählen Sie passende Werte für Crawl Depth (Anzahl von Stufen) und topN (Maximum Seiten per Stufe) - es wird ein Depth von 4 mit topN von 100 vorgeschlagen. Lassen Sie die Website crawlen und nutzen Sie die Nutch Web Anwendung, um in dem resultierenden Index zu suchen.

Aufgabe 2: Website Linksuche implementieren

Jetzt sollen Sie durch Plugins die Nutch Suche erweitern, damit man nach Inlinks und Outlinks in den gecrawlten Seiten suchen kann. In der Nutch Web Anwendung soll es dann möglich sein, eine (gerankte) Liste von Seiten zu bekommen, die Outlinks zu einer genannten Seite haben (die URL der Seite kann benutzt werden) bzw. Inlinks von einer genannten Seite haben. Zum Beispiel, die Suche mit dem Term 'in:"http://citeseer.ist.psu.edu/225114.html"' ergibt eine Liste von Seiten, die Links auf der Seite zu der Veröffentlichung 'Practical Reasoning for Expressive Description Logics' beinhalten.

Abgabe


Abgabe per E-Mail:

Schicken Sie an Ihren Dozenten die folgenden Dateien:

Code: schicken Sie als Java oder JAR Datei(en) die Nutch Plugins, die Sie neu geschrieben oder geändert haben, um die Suche nach In- und Outlinks zu ermöglichen

Index: schicken Sie als gezippte Datei den Index, der durch das Web Crawl erstellt wurde. Nennen Sie sowohl die Startseite für Ihr Crawl als auch die gewählten Depth und topN Werte.

Analyse: beschreiben Sie in einer Textdatei zwei Queries auf Seiten in Ihrem Index, einmal eine Suche nach Inlinks und einmal eine Suche nach Outlinks. Für beide, geben Sie die Anzahl der Hits.

Der Betreff der E-Mail sollte wie folgt aussehen: "[NBI] Blatt 3 - Gruppe X".

Zum Bestehen des Übungsblattes müssen:

Präsentationen

In der Präsentation können Sie erläutern, wie Sie Nutch benutzt haben, um ein Web Crawl durchzuführen, bzw. erweitert haben, um die Suche nach In- und Outlinks zu ermöglichen. Sie sollen demonstrieren, wie Sie jetzt mit Nutch in der Citeseer Webseiten suchen können, und zwei Suchen (einmal nach Outlinks, einmal nach Inlinks) zeigen.