html5lib is a pure-python library for parsing HTML. The parser is
designed to handle all flavours of HTML and  parses invalid documents
using well-defined error handling rules compatible with the behaviour of
major desktop web browsers.

Output is to a tree structure; the current release supports output to
DOM, ElementTree, lxml and BeautifulSoup tree formats as well as a
simple custom format.

Homepage:
https://github.com/html5lib/html5lib-python
