Question

Dans Groovy, comment puis-je récupérer une page Web et supprimer des balises HTML, etc., en ne laissant que le texte du document? J'aimerais que les résultats soient transférés dans une collection pour pouvoir construire un compteur de fréquence de mots.

Enfin, permettez-moi de mentionner à nouveau que je voudrais faire cela dans Groovy.

Était-ce utile?

La solution

En supposant que vous souhaitiez faire cela avec Groovy (deviner en fonction de la balise groovy), vos approches seront probablement très orientées vers les scripts shell ou en utilisant des bibliothèques Java. En ce qui concerne les scripts shell, je suis d'accord avec moogs, utiliser Lynx ou Elinks est probablement le moyen le plus simple de s'y prendre. Sinon, consultez HTMLParser et consultez Traitement de chaque mot dans un fichier (faites défiler l'écran vers le bas pour trouver l'extrait de code correspondant)

Vous êtes probablement coincé dans la recherche de bibliothèques Java à utiliser avec Groovy pour l'analyse HTML, car il ne semble pas qu'il existe de bibliothèque Groovy pour cela. Si vous n'utilisez pas Groovy, postez la langue souhaitée, car il existe une multitude de Outils HTML en texte , en fonction de la langue dans laquelle vous travaillez.

Autres conseils

Si vous voulez une collection de mots marqués à partir de HTML, ne pouvez-vous pas simplement l'analyser comme du XML (doit être du XML valide) et récupérer tout le texte entre les balises? Que diriez-vous de quelque chose comme ça:

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

Vous pouvez utiliser le navigateur Web Lynx pour cracher le texte du document et le sauvegarder.

Voulez-vous le faire automatiquement? Voulez-vous une application séparée qui fait cela? Ou voulez-vous de l'aide pour le coder dans votre application? Sur quelles plateformes (bureau Windows, serveur Web, etc.) sera-t-il exécuté?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top