Если текст не заключен в теги, действительно ли это HTML?
Как говорит Эмбер, вам будет легче справиться с этим, если использовать какой-то HTML-анализатор, например BeautifulSoup.
В приведенном ниже примере демонстрируется простой метод возврата текста внутри тегов.
Этот метод работает для любого тега AFAIK.
>>> from BeautifulSoup import BeautifulSoup as bs
>>> html = '''
... <div><a href="/link1">link1 contents</a></div>
... <div><a href="/link2">link2 contents</a></div>
... '''
>>> soup = bs(html)
>>> for anchor_tag in soup.findAll('a'):
... print anchor_tag.contents[0]
...
link1 contents
link2 contents
Помимо этого, я могу представить, что вы захотитесловарь со счетчиком того, сколько раз определенный термин появился в каком-либо документе HTML.defaultdict
хорош для такого рода вещей:
>>> from collections import defaultdict
>>> d = defaultdict(int)
>>> for anchor_tag in soup.findAll('a'):
... d[anchor_tag.contents[0]] += 1
...
>>> d
defaultdict(<type 'int'>, {u'link1 contents': 1, u'link2 contents': 1})
Надеюсь, это даст вам некоторые идеи для работы.Вернитесь и откройте другой вопрос, если вы столкнетесь с другими проблемами.