from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def handle_starttag(self, tag, attrs): print("Encountered a start tag:", tag) def handle_endtag(self, tag): print("Encountered an end tag :", tag) def handle_data(self, data): print("Encountered some data :", data) parser = MyHTMLParser() # now let's find some bugs parser.feed('foo&bar') """ Encountered a start tag: a Encountered some data : foo Encountered an end tag : a """ parser.feed('foo & bar') """ Encountered a start tag: a Encountered some data : foo Encountered some data : & Encountered some data : bar Encountered an end tag : a """ parser.feed('foo & bar') """ Encountered a start tag: a Encountered some data : foo Encountered some data : bar Encountered an end tag : a """ parser.feed('foo&bar') """ Encountered a start tag: a Encountered some data : foo Encountered some data : bar Encountered an end tag : a """