HTML解析器對比

维基媒体列表条目

解析HTML是一項自動化工作,由(所謂的)HTML解析器執行。它們有兩個主要目的:

  • HTML遍歷:為程式設計師提供一個介面,來輕鬆地訪問和修改「HTML代碼」。典型例子:DOM解析器
  • HTML清理:修正有語法錯誤的HTML,改善結果標記的布局和縮排樣式。典型例子:HTML Tidy
解析器 授權條款 實現語言 最新日期* HTML解析[1] 清理HTML** 升級HTML***
Beautiful Soup[2] Python S. F. L. Python 2013-05-31
Gumbo頁面存檔備份,存於網際網路檔案館 Apache授權條款2.0 C 2013-08-13
html5lib頁面存檔備份,存於網際網路檔案館 MIT授權條款 PythonPHP 2013-12-23[3]
HTML::Parser頁面存檔備份,存於網際網路檔案館 藝術授權條款 Perl 2013-03-28 [4]
htmlPurifier頁面存檔備份,存於網際網路檔案館 GNU寬GPL PHP 2009-03-25[5]
HTML Tidy W3C授權條款英語W3C Software Notice and License ANSI C 2009-03-25[5] [6]
HtmlCleaner頁面存檔備份,存於網際網路檔案館 BSD授權條款[7] Java 2013-09-05
Hubbub頁面存檔備份,存於網際網路檔案館 MIT授權條款 C 2013-04-19
Jaunt API頁面存檔備份,存於網際網路檔案館 Jaunt Beta授權條款 Java 2013-08-01
Jericho HTML Parser頁面存檔備份,存於網際網路檔案館 Eclipse公眾授權條款 Java 2012-10-30[8] 否??
jsdom頁面存檔備份,存於網際網路檔案館 MIT授權條款 JavaScript 2013-07-21
jsoup[9] MIT授權條款 Java 2013-01-27[10]
JTidy頁面存檔備份,存於網際網路檔案館 JTidy授權條款頁面存檔備份,存於網際網路檔案館 Java 2009-12-01[11]
libxml2 HTMLparser頁面存檔備份,存於網際網路檔案館 MIT授權條款 C 2012-09-11[12]
NekoHTML頁面存檔備份,存於網際網路檔案館 Apache授權條款2.0 Java 2013-02-27[13]
TagSoup Apache授權條款2.0 Java 2011-07-07
Validator.nu HTML Parser頁面存檔備份,存於網際網路檔案館 MIT授權條款 Java 2012-06-05
AVHTML頁面存檔備份,存於網際網路檔案館 LGPL C++ 2015-07-17
解析器 授權條款 實現語言 最新日期* HTML解析 清理HTML** 升級HTML***
* (有重要更新的)最新版本日期。
** 規範(生成標準相容的網頁,減少垃圾資訊,等)和清理(剝離過剩的表達標籤,移除XSS代碼,等)HTML代碼。
*** 將HTML4.X升級到XHTML或HTML5,將廢棄的標籤(如CENTER)轉換為有效的標籤(如帶有style="text-align:center;"的DIV)。

參考資料