Javaで実装されたHTMLパーサの性能や使い勝手を比べてみるよん

感想おまちしてます!


XSS対策として入力値チェックライブラリを考えているんですが、入力値としてHTMLを許可する場合、これを解析してなんとかならんもんかと思ってたりします。

スポンサーリンク

JavaのHTMLパーサ

XMLスキーマとかも使えそうなもんですが、柔軟になる分、ユーザはXMLスキーマの書き方を覚えなければならないわけで、いろんなチェックを、フィルタを通すように使える設計で作っておいて、「IE8がでたー!」となったときでも「IE8Filter」を追加で作って、フィルタに追加するだけー・・・とかにしようかと。

調べてみると、いがぴょんさんのJavaで実装された HTML Parser (HTMLパーサ) を調べてみましたがとても素敵です。これにパフォーマンスとか、使い勝手を加えてまとめてみます。

今回、Google先生や、いがぴょんさんも言及しているOpen Source HTML Parsers in Javaから、以下を調査対象とした。結果はそれぞれまとめていき、結果はまとめページに載せる予定です。

名前 URL 調査結果
HTML Parser http://htmlparser.sourceforge.net/ Maybe Comming Soon.
Jericho HTML Parser http://jericho.htmlparser.net/docs/index.html Maybe Comming Soon.
javax.swing.text.html.parser.Parser http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/javax/swing/text/html/parser/Parser.html Maybe Comming Soon.
Java Mozilla Html Parser http://mozillaparser.sourceforge.net/ Maybe Comming Soon.
CyberNeko HTML Parser http://sourceforge.net/projects/nekohtml/ Maybe Comming Soon.
JTidy http://sourceforge.net/projects/jtidy/ Maybe Comming Soon.
The Validator.nu HTML Parser http://about.validator.nu/htmlparser/ Maybe Comming Soon.
TagSoup http://mercury.ccil.org/~cowan/XML/tagsoup/ Maybe Comming Soon.
HotSAX http://hotsax.sourceforge.net/ Maybe Comming Soon.
Cobra: Java HTML Renderer & Parser http://lobobrowser.org/cobra.jsp Maybe Comming Soon.
HtmlCleaner http://htmlcleaner.sourceforge.net/ Maybe Comming Soon.
VietSpider HTMLParser https://sourceforge.net/projects/binhgiang/ Maybe Comming Soon.