Domanda

Sto cercando di creare un parser HTML generalizzata che funziona bene su Blog. Voglio sottolineare il mio parser presso l'URL del entrie specifica e tornare il testo pulita del post stesso. Il mio approccio di base (in pitone) è stato quello di utilizzare una combinazione di BeautifulSoup / urllib2, che va bene, ma si presuppone che conosciate i tag corretti per la voce del blog. Qualcuno ha qualche idea migliore?

Ecco alcuni pensieri forse qualcuno potrebbe espandersi su, che non ho abbastanza conoscenza / know-how ancora attuare.

  1. Il programma unix 'lynx' sembra di analizzare i post del blog particolarmente bene - quello parser si usano, o come potrebbe essere utilizzato

  2. ?
  3. Ci sono servizi / parser che rimuovono automaticamente gli annunci spazzatura, etc?

  4. In questo caso, ho avuto una nozione vaga che potrebbe essere un presupposto va bene che i post del blog sono solitamente contenute in un determinato tag che definisce con class = "entry" o qualcosa di simile. Così, può essere possibile creare un algoritmo che ha trovato i tag di cinta con il testo più pulito tra di loro? - tutte le idee su questo

Grazie!

È stato utile?

Soluzione

Il ragazzo, ho il ideale soluzione per voi.

algoritmo di leggibilità del Arc90 fa esattamente questo. Dato il contenuto HTML, raccoglie il contenuto del testo post sul blog principale, intestazioni, piè di pagina, ignorando la navigazione, ecc.

Ecco le implementazioni in:

sarò rilasciando una porta Perl per CPAN in un paio di giorni. Fatto.

Spero che questo aiuti!

Altri suggerimenti

Ci sono progetti là fuori che guardano specificamente a filtrare il 'rumore' di una determinata pagina. In genere il modo in cui questo viene fatto è quello di dare l'algoritmo di alcuni esempi di un determinato tipo di pagina, e può guardare a ciò che le parti non cambiano tra di loro. Detto questo, che avrebbe dovuto dare l'algoritmo qualche esempio pagine / messaggi di ogni blog si voleva analizzare. Questo di solito funziona bene quando si dispone di un piccolo insieme definito di siti sarete indicizzazione (siti di notizie, per esempio). L'algoritmo è fondamentalmente rileva il modello che usano in HTML e individuando la parte interessante. Non c'è nessuna magia qui, è difficile e imperfetta.

Un grande esempio di questo alogrithm può essere trovato nel codice sorgente EveryBlock.com che era proprio open-source. Vai a everyblock.com/code e scaricare il pacchetto "ebdata" e guardare il "templatemaker" modulo.

E io non intendo affermare l'ovvio, ma hai considerato solo utilizzando RSS da blog in questione? Di solito i campi hanno l'intero post sul blog, il titolo, e altre meta informazioni con loro. Utilizzando RSS sta per essere molto più semplice rispetto alla soluzione precedente ho accennato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top