Нет, HTMLParser делает именно это: он анализирует ваш HTML.
Вы, наверное, ищете Красивый суп . Это создаст ParseTree - Pythonic дерево объектов, представляющих элементы HTML вашего документа. Затем вы можете найти нужный объект (элемент), присвоить ему новое значение и вуаля!
Похищено бессовестно из документации :
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup("<b>Argh!</b>")
soup.find(text="Argh!").replaceWith("Hooray!")
print soup
# <b>Hooray!</b>