2010-11-30 15 views
0

私はHTMLコンテンツ抽出のためにHtmlCleanerライブラリを使用しています。それはかなり限られていますが、かなり機能します。& nbsp;のような特殊エンティティを処理すると、 HtmlCleanerで

&ポンドや引用符などの特殊文字は扱えません。 URL:http://www.basicelegancefurnishings.co.uk/alaska-3-and-2-seater-sofa-setspan-classukmadespan-p-280.html、価格にxpathを渡すと、それは私に "&ポンド; inplace of £

これまたは他の解決方法を処理するためにhtmlcleanerで設定できるプロパティはありますか。

おかげ

Jitendra

答えて

4

いいえ、私はHtmlCleanerはこれを行うことができます信じていません。

StringEscapeUtils.unescapeHtml("£679.00"); 

£679.00が生成されます。ただし、このようなApache Commons StringEscapeUtilsに "アンエスケープ" のhtmlを、使用することができます。

HtmlCleanerではなく、JSoupをお試しください。

+0

私はStringEscapeUtilsについて知らなかった。ありがとう。私の場合のコンテンツ抽出はxpathsに基づいています。 Jsoupはそれをサポートしていますか? – RandomQuestion

+1

jsoupはコンテンツ抽出用のCSSセレクタをサポートしています。あなたが必要とすることをする必要があります。 –

-1

これは、org.htmlcleaner.CleanerProperties - setTransSpecialEntitiesToNCR(true)で実行できるようになりました。

+1

"setTransSpecialEntitiesToNCR"パラメータはシリアル化の動作にのみ影響します。答えが正しくないため、HtmlCleaner(まだ)はこの種のエスケープ解除されていないHTMLエンティティを処理しません。 http://htmlcleaner.sourceforge.net/parameters.phpも参照してください。 –

1

私が使用しているhtmlcleanerのバージョンは2.2で、org.htmlcleaner.CleanerProperties - setTransSpecialEntitiesToNCR(true)は私にとって役に立ちます。私はstring.replace(" ", " ")を使ってHTMLコンテンツを作る必要がありますが、私は完全に正しいものです。

関連する問題