Если вы просто хотите получить данные из всех тегов в HTML-документе, при этом удаляя все теги сами, вы можете сделать что-то вроде этого:
import HTMLParser
class DataOnlyParser(HTMLParser.HTMLParser):
def parse(self, text):
self.result = []
self.feed(text)
self.close()
return self.result
def handle_data(self, data):
data = data.strip()
if data:
self.result.append(data)
p = DataOnlyParser()
data = """
<TD align="left" class=texttd><font class='textfont'>AAA</font></TD>
<TD align="left" class=texttd><font class='textfont'>BBB</font></TD>
<TD align="left" class=texttd><font class='textfont'>CCC</font></TD>
<TD align="left" class=texttd><font class='textfont'>DDD</font></TD>
"""
print p.parse(data)
# ['AAA', 'BBB', 'CCC', 'DDD']
Если ваши критерии выбора более сложны, и / или если входные данные искажены, вам, вероятно, лучше использовать такую библиотеку, как lxml.
Вы НЕ хотите использовать регулярные выражения для "разбора" html. Смотри здесь .