Domanda

In Groovy, come posso catturare una pagina Web e rimuovere tag HTML, ecc., lasciando solo il testo del documento? Vorrei che i risultati venissero scaricati in una raccolta in modo da poter costruire un contatore di frequenza di parole.

Infine, vorrei ricordare ancora una volta che mi piacerebbe farlo in Groovy.

È stato utile?

Soluzione

Supponendo che tu voglia farlo con Groovy (ipotesi basata sul tag groovy), è probabile che i tuoi approcci siano fortemente orientati agli script di shell o che utilizzino librerie Java. Nel caso dello shell-scripting sarei d'accordo con i moog, l'uso di Lynx o Elinks è probabilmente il modo più semplice per farlo. Altrimenti dai un'occhiata a HTMLParser e vedi Elaborazione di ogni parola in un file (scorrere verso il basso per trovare lo snippet di codice pertinente)

Probabilmente sei bloccato con la ricerca di librerie Java da utilizzare con Groovy per l'analisi HTML, poiché non sembra che ci siano librerie Groovy per esso. Se non stai usando Groovy, pubblica la lingua desiderata, poiché esiste una moltitudine di HTML to text text là fuori, a seconda della lingua in cui stai lavorando.

Altri suggerimenti

Se vuoi una raccolta di parole tokenizzate dall'HTML, allora non puoi semplicemente analizzarlo come XML (deve essere un XML valido) e prendere tutto il testo tra i tag? Che ne dici di qualcosa del genere:

def records = new XmlSlurper().parseText(YOURHTMLSTRING)
def allNodes = records.depthFirst().collect{ it }
def list = []
allNodes.each {
    it.text().tokenize().each {
        list << it
    }
}

Puoi utilizzare il Lynx Web Browser per sputare il testo del documento e salvarlo.

Vuoi farlo automaticamente? Vuoi un'applicazione separata che faccia questo? O vuoi aiuto per codificarlo nella tua applicazione? Su quali piattaforme (desktop di Windows, web server, ecc.) Funzionerà?

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