Faixa de HTML de uma página web e palavra calcular a frequência?
-
03-07-2019 - |
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.
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
}
}
Você pode usar o navegador href="http://en.wikipedia.org/wiki/Lynx_web_browser" rel="nofollow noreferrer"> Lynx Web para cuspir o texto do documento e salvá-lo.
Você quer fazer isso automaticamente? Você quer um aplicativo separado que faz isso? Ou você quer ajuda de codificação-lo em sua aplicação? Quais plataformas (Windows desktop, servidor web, etc) ele será executado em?