2

大量の Web ドキュメントがあり、そこから html タグを削除したいと考えています。正規表現からHtmlCleaner、Jsoupまで、Javaで行う方法に関するStackOverflowに関するいくつかの投稿を見ました。

私はそれを行うための最速の方法を見つけることに興味があります。何百万ものドキュメントがあるため、私の場合はパフォーマンスが重要です。パフォーマンスのために品質を少し交換することさえできます.

事前にご回答いただきありがとうございます。

4

3 に答える 3

1

私の意見では、可能な限りストリーム/SAX 処理を使用することです。

これらの要因は、何百万ものドキュメントがあるユースケースで (私の視点から) 必要です。ウィキペディアを参照してくださいSAX

したがって、Html が厳密または XHTML の場合。XSLT を使用します。ここでは、SAX XSLT+SAX+Javaを使用して XML (XHTML) を変換する方法について説明します。

最後に、XML の有効な HTML がない場合は、ストリーム (および PushBackReader) を利用するJava: Replace Strings in Streams, Arrays, Files etc.を参照してください。

HTH

于 2012-01-03T13:24:52.750 に答える
0

1)htmlが適切なxmlである場合は、そのドキュメントオブジェクトを作成し、ノードを削除できます。

2)適切なxmlでない場合は、html全体を文字列として読み取り、replace関数を使用して「html」sunbstringを削除します。

HTMlが適切なxmlでない場合、文字列で置き換える最も速い方法は正規表現です。

于 2012-01-03T12:03:06.707 に答える
0

Java 正規表現が最速のソリューションのようです。ただし、後で得られるテキストの品質が低下します。

于 2012-01-10T13:01:08.297 に答える