home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

Java/HTMLパーサライブラリ調査メモ(2015-03時点)

Java/HTMLパーサライブラリ調査メモ(2015-03時点)

Java / HTMLパーサライブラリ調査メモ(2015-03時点)
id: 1397 所有者: msakamoto-sf    作成日: 2015-03-29 16:35:05
カテゴリ: HTML Java 

2015-03現在の、Javaで利用できるHTMLパーサライブラリってどんなのがあるか探してみた、調査メモ。参考URL集。

Javaで利用できるHTMLパーサライブラリの一覧、一番の参考URL集:

  • Open Source HTML Parsers in Java
    • http://java-source.net/open-source/html-parsers
    • 去年くらいにもチェックしてみたが、今回チェックしてみたらうろ覚えだけどいくつか追加されてる気もする・・・。
    • とりあえずぼちぼち新し目のも載ってるようなので、まずはこれが参考?

先に結論を書くと、今回は以下の要件に適してそうなパーサを探してみたのだが、唯一イケそうなTagSoupが2011年頃?のv1.2.1で止まってて、しょんぼりした。

  • 汚い、壊れたHTMLでもパースできること。閉じタグが無いのは可愛い方で、そもそも "<" が一文字欠けてしまったりとか、そんなレベル。
  • SAX APIサポート。DOMを構築しない、メモリに優しいパーサ

特性としてどうしても個人が開発してOSSとしてリリースしてるものが多い・・・というかむしろ、それしかないっぽいので、開発者個人の事情によって開発が止まる可能性が高い。
事実として、今回の要件に適合しそうなライブラリのうち、ソースコードリポジトリへのコミットが2014年以降も確認できているものはHtmlCleanerとjsoupの2つしかない。

他人が開発したHTMLパーサを利用するということはその開発者に依存することになる。
ライブラリの開発動向を定期的にチェックし、いつか乗り換える時がくる、というのをリスクとして検討しておく必要がある。
・・・と、思いました。


以下、本文です。

Stack Overflow でも、いくつか「良いJavaのHTMLパーサ教えて!」という質問が立ってる。

いくつか調べてみた:

  • HtmlCleaner Project Home Page
    • http://htmlcleaner.sourceforge.net/
    • 汚いHTMLをwell formedなXMLに変換するライブラリ。その過程で、HTMLのパースもできるらしい。
    • BSDライセンス
    • ぼちぼち開発継続してる。
  • jsoup Java HTML Parser, with best of DOM, CSS, and jquery
    • http://jsoup.org/
    • https://github.com/jhy/jsoup/
    • HTML5にも対応した、汚いHTMLでも頑張れるパーサ。
    • 一旦DOM構造に全部変換して、JavaScriptやjQueryに類似したAPIで要素を取得できる。
    • MITライセンス
    • ぼちぼち開発継続してる。
  • TagSoup home page
    • http://mercury.ccil.org/~cowan/XML/tagsoup/
    • 汚いHTMLをSAX型APIでパースできる。DOM構築はしない。
    • ライセンスはAPL2
    • ソースは公開されてるものの、GitHubやSFなどの公開リポジトリには無い。ソースのアーカイブがあるだけ。
    • 2011年のXML文字エンティティに対応した v1.2.1 が最後のリリースで、以降の動きは不明。
  • HTML Parser - HTML Parser


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2017-02-12 16:36:45
md5:33e24bb3801bc6d33e64c7f77e4ef8be
sha1:939c9916d91c2133746a8f8de6bcf8d84e642ea8
コメント
コメントを投稿するにはログインして下さい。