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)。

参考资料