WebページからHTMLを取り除き、単語の頻度を計算しますか?
-
03-07-2019 - |
質問
Groovyでは、Webページを取得してHTMLタグなどを削除し、ドキュメントのテキストのみを残すにはどうすればよいですか?結果をコレクションにダンプして、単語頻度カウンターを作成できるようにします。
最後に、Groovyでこれを実行したいことを改めて申し上げます。
解決
Groovy(groovyタグに基づいた推測)でこれを行いたいと仮定すると、あなたのアプローチはシェルスクリプト指向かJavaライブラリを使用するかのいずれかです。シェルスクリプティングの場合、ムーグに同意します。LynxまたはElinksを使用するのがおそらく最も簡単な方法です。それ以外の場合は、 HTMLParser を見て、ファイル内のすべての単語の処理(関連するコードスニペットを見つけるために下にスクロールします)
GroovyのHTML解析用のJavaライブラリは、Groovyのライブラリが存在しないように見えるため、たぶんあなたは立ち往生しています。 Groovyを使用していない場合は、目的の言語を投稿してください。多数の使用している言語に応じて、HTML to Textツールがあります。
他のヒント
HTMLからトークン化された単語のコレクションが必要な場合は、XML(有効なXMLである必要があります)のように解析して、タグ間のすべてのテキストを取得することはできませんか?このようなものはどうですか:
def records = new XmlSlurper().parseText(YOURHTMLSTRING)
def allNodes = records.depthFirst().collect{ it }
def list = []
allNodes.each {
it.text().tokenize().each {
list << it
}
}
Lynx Webブラウザーを使用して、ドキュメントテキストを吐き出して保存できます。
これを自動的に行いますか?これを行う別のアプリケーションが必要ですか?それとも、アプリケーションへのコーディングを支援したいですか?どのプラットフォーム(Windowsデスクトップ、Webサーバーなど)で実行されますか?