Jump to content

Comparison of HTML parsers

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Two Bananas (talk | contribs) at 21:36, 16 September 2013 (Updated links from CPAN to MetaCPAN). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Parsing HTML is a automated task, performed by (so called) HTML parsers. They have two main purposes:

  • HTML traversal: offer a interface for programmers to easily access and modify of the "HTML string code". Canonical example: DOM parsers.
  • HTML clean: to fix invalid HTML and to improve the layout and indent style of the resulting markup. Canonical example: HTML Tidy.
Parser License Implementation language(s) Latest date* HTML Parsing[1] Clean HTML** Update HTML***
Beautiful Soup (base on lxml and html5lib)[2] Python S. F. L. Python 2013-05-31 Yes ? ?
Gumbo Apache License 2.0 C (programming language) 2013-08-13 Yes ? ?
html5lib MIT License Python and PHP 2012-02-11[3] Yes ? ?
HTML::Parser Perl license Perl 2013-03-28 No[4] ? ?
htmlPurifier GNU Lesser GPL ANSI C 2009-03-25[5] No Yes Yes
HTML Tidy W3C license ANSI C 2009-03-25[6] Yes[7] Yes ?
HtmlCleaner BSD License[8] Java 2010-12-22[9] No Yes ?
Hubbub MIT License C (programming language) 2013-04-19 Yes ? ?
Jaunt API Jaunt Beta License Java 2013-08-01 Yes Yes No
Jericho HTML Parser Eclipse Public License Java 2012-10-30[10] No?? ? ?
jsdom MIT license JavaScript 2013-07-21 No ? ?
jsoup MIT license Java 2013-01-27[11] Yes Yes Yes
JTidy JTidy License Java 2009-12-01[12] Yes ? ?
libxml2 HTMLparser MIT License C (programming language) 2012-09-11[13] Yes ? ?
NekoHTML Apache License 2.0 Java 2013-02-27[14] No ? ?
TagSoup Apache License 2.0 Java 2011-07-07 No ? ?
Validator.nu HTML Parser MIT License Java 2012-06-05 Yes ? ?
Parser License Implementation language(s) Latest date* HTML Parsing Clean HTML** Update HTML***
* Latest release (of significant changes) date.
** sanitize (generating standard-compatible web-page, reduce spam, etc.) and clean (strip out surplus presentational tags, remove XSS code, etc.) HTML code.
*** Updates HTML4.X to XHTML or to HTML5, converting deprecated tags (ex. CENTER) to valid ones (ex. DIV with style="text-align:center;").

References