这是我拥有的 HTML:
p_tags = '''<p class="foo-body">
<font class="test-proof">Full name</font> Foobar<br />
<font class="test-proof">Born</font> July 7, 1923, foo, bar<br />
<font class="test-proof">Current age</font> 27 years 226 days<br />
<font class="test-proof">Major teams</font> <span style="white-space: nowrap">Japan,</span> <span style="white-space: nowrap">Jakarta,</span> <span style="white-space: nowrap">bazz,</span> <span style="white-space: nowrap">foo,</span> <span style="white-space: nowrap">foobazz</span><br />
<font class="test-proof">Also</font> bar<br />
<font class="test-proof">foo style</font> hand <br />
<font class="test-proof">bar style</font> ball<br />
<font class="test-proof">foo position</font> bak<br />
<br class="bar" />
</p>'''
这是我的 Python 代码,使用 Beautiful Soup:
def get_info(p_tags):
"""Returns brief information."""
head_list = []
detail_list = []
# This works fine
for head in p_tags.findAll('font', 'test-proof'):
head_list.append(head.contents[0])
# Some problem with this?
for index in xrange(2, 30, 4):
detail_list.append(p_tags.contents[index])
return dict([(l, detail_list[head_list.index(l)]) for l in head_list])
head_list
我从 HTML 中得到了正确的,但detail_list
它不起作用。
head_list = [u'全名', 你'出生', u'当前年龄', u'主要团队', 你也', u'foo 风格', u'酒吧风格', 你'foo位置']
我想要这样的东西
{ '全名': 'Foobar', 'Born': '1923 年 7 月 7 日,foo,bar', '当前年龄': '78 岁 226 天', '主要球队':'日本,雅加达,bazz,foo,foobazz', '也':'酒吧', 'foo 风格': '手', '酒吧风格':'球', 'foo 位置':'bak' }
任何帮助都是不言而喻的。提前致谢。