Pergunta

No Groovy, como faço para pegar uma página web e tags HTML remover, etc., deixando apenas o texto do documento? Eu gostaria os resultados despejado em uma coleção que eu possa construir um contador de freqüência de palavras.

Por fim, deixe-me mencionar novamente que eu gostaria de fazer isso em Groovy.

Foi útil?

Solução

Assumindo que você quer fazer isso com Groovy (adivinhação baseado na tag Groovy), as abordagens são susceptíveis de ser fortemente shell-script orientada ou usando bibliotecas Java. No caso de shell-scripting Concordo com moogs, usando Lynx ou Elinks é provavelmente a maneira mais fácil de ir sobre ele. Caso contrário, ter um olhar para HTMLParser e veja Processamento Every Word em um Arquivo (role para baixo para encontrar o trecho de código relevante)

Você provavelmente preso com encontrar libs Java para uso com Groovy para a análise de HTML, como ele não aparece há nenhum libs Groovy para ele. Se você não estiver usando Groovy, então por favor poste o idioma desejado, uma vez que há uma infinidade de HTML para ferramentas de texto lá fora, dependendo do que a linguagem que você está trabalhando.

Outras dicas

Se você quiser uma coleção de palavras tokenized de HTML, em seguida, você não pode simplesmente analisá-lo como XML (precisa ser XML válido) e pegar todo o texto entre as tags? Que tal algo como isto:

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