2012-12-15 5 views
10

Ich bin auf der Suche nach einem Framework, um Artikel zu greifen, dann finde ich Nutch 2.1. Hier ist mein Plan und Fragen in jeder:So erweitern Nutch für Artikel Crawling

hinzufügen Artikelliste Seiten in url/seed.txt Hier ist ein Problem. Was ich eigentlich indizieren möchte, sind die Artikelseiten, nicht die Artikelseiten. Aber wenn ich nicht erlaube, dass die Listenseite indexiert wird, tut Nutch nichts, weil die Listenseite der Eingang ist. Also, wie kann ich nur die Artikelseite ohne Listenseiten indizieren?

ein Plugin Schreiben Sie den ‚Autor‘, ‚Datum‘, ‚Artikeltext‘, ‚Überschrift‘ und vielleicht andere Informationen von HTML parsen. Die Plugin-Schnittstelle 2.1 in Nutch 'Parser' ist: Parse getParse (String url, WebPage Seite) Und die hat 'Webseite' Klasse einige vordefinierte attributs:

public class WebPage extends PersistentBase { 
    // ... 
    private Utf8 baseUrl; 
    // ... 
    private ByteBuffer content; // <== This becomes null in IndexFilter 
    // ... 
    private Utf8 title; 
    private Utf8 text; 
    // ... 
    private Map<Utf8,Utf8> headers; 
    private Map<Utf8,Utf8> outlinks; 
    private Map<Utf8,Utf8> inlinks; 
    private Map<Utf8,Utf8> markers; 
    private Map<Utf8,ByteBuffer> metadata; 
    // ... 
} 

So, as you can see, there are 5 maps I can put my specified attributes in. But, 'headers', 'outlinks', 'inlinks' seem not used for this. Maybe I could put those information into markers or metadata. Are they designed for this purpose? 
BTW, the Parser in trunk looks like: 'public ParseResult getParse(Content content)', and seems more reasonable for me. 

Nach den Artikeln sind In Solr indiziert, kann eine andere Anwendung es nach "Datum" abfragen und dann die Artikelinformationen in Mysql speichern. Meine Frage hier ist: Kann Nutch den Artikel direkt in Mysql speichern? Oder kann ich ein Plugin schreiben, um das Indexverhalten anzugeben?

Ist Nutch eine gute Wahl für meinen Zweck? Wenn nicht, schlagen Sie mir eine andere gute Qualität Rahmen/Bibliothek für mich vor? Danke für Ihre Hilfe.

Antwort

1

Wenn Artikel Extraktion von einigen Websites ist alles, was Sie suchen, dann überprüfen http://www.crawl-anywhere.com/

Es kommt mit einem Admin-UI in dem Sie festlegen können, dass Sie boilerpipe Artikel Extraktor verwenden möchten (was toll ist) . Sie können auch anhand der URL-Mustererkennung festlegen, welche Seiten gecrawlt werden sollen, welche Seite gecrawlt UND indiziert werden soll.

+0

In Crawl Anywhere-Dokumentation konnte ich keine Funktion finden, mit der ich angeben kann, dass nur der Artikeltext extrahiert wird (als der gesamte HTML-Text der Webseite). –