如果文本没有包含在标签中,那它真的是HTML吗?
正如Amber所说,使用一些HTML解析器(如BeautifulSoup)可以更轻松地完成此任务。
下面的例子演示了一个用于返回标签内文本的简单方法。
此方法适用于任何标签AFAIK。
>>> from BeautifulSoup import BeautifulSoup as bs
>>> html = '''
...
...
... '''
>>> 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(, {u'link1 contents': 1, u'link2 contents': 1})
希望这给你一些想法与运行。如果遇到其他问题,请回来再打开另一个问题。