I've used Beautiful Soup, and it is a very pythonic way of accessing the data in the HTML. It is actually very similar to the way you access the DOM with JS - for example soup.html.body.h1 will give you the first h1 tag.
There are also various other ways of searching the HTML in XPathish ways (if XPath used dictionaries and lists...). http://www.crummy.com/software/BeautifulSoup/ -- http://mail.python.org/mailman/listinfo/python-list