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许可证 | Python和PHP | 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)转换为有效的标签(如带有的DIV)。
参考资料
- ^ 12.2 解析HTML文档——HTML标准 (页面存档备份,存于互联网档案馆)(英文)
- ^ 基于lxml和html5lib,http://www.crummy.com/software/BeautifulSoup/(英文) (页面存档备份,存于互联网档案馆)
- ^ 版本·html5lib/html5lib-python (页面存档备份,存于互联网档案馆)(英文)
- ^ HTML-Parser:HTML 5的缺陷#53300 (页面存档备份,存于互联网档案馆)(英文)
- ^ 5.0 5.1 Windows的HTML Tidy (页面存档备份,存于互联网档案馆)(英文)
- ^ Tidy解析器举例:PHP的class.tidynode (页面存档备份,存于互联网档案馆)(英文)
- ^ HtmlCleaner以BSD许可证分发 (页面存档备份,存于互联网档案馆)(英文)
- ^ Jericho HTML Parser——在SourceForge.net浏览/jericho-html/3.3 (页面存档备份,存于互联网档案馆)(英文)
- ^ jsoup Java HTML Parser, with best of DOM, CSS, and jquery. jsoup.org. [2019-09-22]. (原始内容存档于2019-09-27).
- ^ 在master的jsoup/CHANGES·jhy/jsoup·GitHub (页面存档备份,存于互联网档案馆)(英文)
- ^ JTidy—在SourceForge.net浏览/JTidy (页面存档备份,存于互联网档案馆)(英文)
- ^ libxml2版本 (页面存档备份,存于互联网档案馆)(英文)
- ^ NekoHTML | 变更历史 (页面存档备份,存于互联网档案馆)(英文)