2016-05-19 6 views
0

Ich versuche, einen Crawler und Schaber in Apache Nutch zu bauen, um alle Seiten zu finden, die einen Abschnitt enthalten, der über ein bestimmtes Wortthema spricht (zB "Wahl", "Wahlen") "Stimme" usw.).Scraper: Unterscheidender bedeutungsvoller Text von bedeutungslosen Einzelteilen, hadoop

Sobald ich gecrawlt habe, reinigt Nutch den HTML-Code von Stoppwörtern und Tags, aber er nimmt keine Menü-Voices (das sind auf jeder Seite der Website). So könnte es passieren, dass Sie, wenn Sie nach allen Seiten suchen, die über Wahlen sprechen, eine ganze Website abrufen können, weil sie das Wort "Wahlen" in ihrem Menü und daher auf jeder Seite hat.

Ich habe mich gefragt, ob Techniken, die mehrere Seiten der Website analysieren, um zu verstehen, was die Hauptvorlage einer Seite ist, existieren. Nützliche Papiere und/oder Implementierungen/Bibliotheken.

Ich habe überlegt, eine Art Hadoop-Job zu erstellen, der Ähnlichkeiten zwischen mehreren Seiten analysiert, um eine Vorlage zu extrahieren. Aber die gleiche Website könnte mehrere Vorlagen haben, so dass es schwer ist, sich einen effektiven Weg dafür zu überlegen.

E.G.

WEBSEITE 1:

MENU HOME VOTE ELECTION NEWS 

meaningful text... elections .... 

WebPage 2:

MENU HOME VOTE ELECTION NEWS 

meaningful text... talking about swimming pools .... 

Antwort

2

Sie nicht erwähnt, welcher Zweig von Nutch (1.x/2.x) werden Sie verwenden, aber im Moment Ich kann an ein paar Ansätze denken:

Werfen Sie einen Blick auf NUTCH-585, die hilfreich sein wird, wenn Sie nicht viele verschiedene Websites crawlen und wenn Sie angeben können, welche Knoten Ihres HTML-Inhalts Sie ausschließen möchten e aus dem indizierten Inhalt.

Wenn Sie mit verschiedenen Websites arbeiten und der vorherige Ansatz nicht durchführbar ist, werfen Sie einen Blick auf NUTCH-961, die anhand der Boilerplate-Funktion in Apache Tika abschätzen, welche Texte aus Ihrem HTML-Inhalt stammen. Diese Bibliothek verwendet einige Algorithmen und stellt mehrere Extraktoren zur Verfügung, Sie können es ausprobieren und sehen, was für Sie funktioniert. Meiner Erfahrung nach hatte ich einige Probleme mit Nachrichtenseiten, die viele Kommentare hatten und einige der Kommentare wurden mit dem Inhalt des Hauptartikels allein indexiert, aber es war schließlich ein kleines Problem. In jedem Fall könnte dieser Ansatz für viele Fälle sehr gut funktionieren.

Sie können auch einen Blick auf NUTCH-1870 werfen, mit dem Sie XPath-Ausdrücke angeben können, um bestimmte Teile der Webseite als getrennte Felder zu extrahieren. Dies kann mit den richtigen Boost-Parametern in Solr Ihre Genauigkeit verbessern.