美丽的汤 - 处理错误

时间:2011-09-14 03:26:00

标签: python html-parsing beautifulsoup

  1. 我想知道在href

  2. 之后<strong>Text:</strong>不存在的情况下如何处理
  3. 有没有更好的方法来搜索<strong>Contact:</strong>

  4. 之后存在的内容

    http://pastebin.com/FYMxTJkf

1 个答案:

答案 0 :(得分:2)

findNext怎么样?

import re
from BeautifulSoup import BeautifulSoup

html = '''<strong>Text:</strong>   

        <a href='http://domain.com'>url</a>'''

soup = BeautifulSoup(html)
label = soup.find("strong" , text='Text:')
contact = label.findNext('a')

if contact.get('href') != None:
    print contact
else:
    print "No href"

如果您正在寻找具有a的{​​{1}}标记,请使用:

href

这样你就不需要压缩空格了。我想你这样做是因为contact = label.findNext('a', attrs={'href' : True}) 在标签后面返回了空格。