Pregunta

En Groovy, ¿cómo tomo una página web y elimino las etiquetas HTML, etc., dejando solo el texto del documento? Me gustaría que los resultados se viertan en una colección para poder crear un contador de frecuencia de palabras.

Finalmente, permítanme mencionar nuevamente que me gustaría hacer esto en Groovy.

¿Fue útil?

Solución

Suponiendo que desea hacer esto con Groovy (adivinar basándose en la etiqueta groovy), es probable que sus enfoques estén orientados en gran medida por el script de shell o que utilicen bibliotecas Java. En el caso de shell-scripting, estoy de acuerdo con moogs, usar Lynx o Elinks es probablemente la forma más fácil de hacerlo. De lo contrario, eche un vistazo a HTMLParser y vea Procesando cada palabra en un archivo (desplácese hacia abajo para encontrar el fragmento de código relevante)

Es probable que esté atascado en la búsqueda de bibliotecas de Java para usar con Groovy para el análisis de HTML, ya que no parece que haya ninguna biblioteca de Groovy para ello. Si no está utilizando Groovy, publique el idioma deseado, ya que hay una multitud de Herramientas de HTML a texto , dependiendo del idioma en el que estés trabajando.

Otros consejos

Si desea una colección de palabras con token de HTML, ¿no puede simplemente analizarlas como XML (debe ser un XML válido) y capturar todo el texto entre etiquetas? ¿Qué tal algo como esto?

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

Puede utilizar el navegador web Lynx para escupir el texto del documento y guardarlo.

¿Quieres hacer esto automáticamente? ¿Quieres una aplicación separada que haga esto? ¿O quieres ayuda para codificarlo en tu aplicación? ¿En qué plataformas (escritorio de Windows, servidor web, etc.) se ejecutará?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top