2012-12-15 6 views
10

Cerco un framework per afferrare gli articoli, quindi trovo Nutch 2.1. Ecco il mio piano e le domande in ciascuna:Come estendere la Nutch per lo strisciante degli articoli

Aggiungi pagine della lista articolo in url/seed.txt Qui è un problema. Quello che in realtà voglio essere indicizzato sono le pagine degli articoli, non le pagine degli articoli degli articoli. Ma, se non permetto l'indicizzazione della pagina di elenco, Nutch non farà nulla perché la pagina di elenco è l'entrata. Quindi, come posso indicizzare solo la pagina dell'articolo senza le pagine di elenco?

Scrivi un plugin per analizzare la 'autore', 'data', 'corpo dell'articolo', 'titolo' e magari altre informazioni da HTML. L'interfaccia plug-in 'Parser' in Nutch 2.1 è: Parse getParse (stringa URL, la pagina pagina web) e la classe 'pagina web' ha alcuni Attributi predefiniti:

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. 

Dopo gli articoli sono indicizzato in Solr, un'altra applicazione può interrogarlo con 'data' e quindi memorizzare le informazioni dell'articolo in Mysql. La mia domanda qui è: Nutch può memorizzare l'articolo direttamente in Mysql? Oppure posso scrivere un plugin per specificare il comportamento dell'indice?

La Nutch è una buona scelta per il mio scopo? In caso contrario, ragazzi suggerite un'altra struttura/libreria di buona qualità per me? Grazie per il vostro aiuto.

risposta

1

Se l'estrazione articolo di alcuni siti web è tutto ciò che si sta cercando, quindi controllare http://www.crawl-anywhere.com/

Viene fornito con un interfaccia utente di amministrazione in cui è possibile specificare che si desidera utilizzare l'articolo boilerpipe estrattore (che è grande) . Puoi inoltre specificare per modello di URL la corrispondenza tra le pagine che desideri sottoporre a scansione e la pagina che desideri sottoporre a scansione e indicizzare.

+0

All'interno della documentazione di Crawl Anywhere non sono riuscito a trovare funzionalità tramite cui è possibile specificare che estrarre solo il corpo dell'articolo (rispetto all'intero corpo html della pagina Web). –