Как насчет 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
с href
, используйте:
contact = label.findNext('a', attrs={'href' : True})
При этом вам не нужно будет сокращать пробелы. Я полагаю, вы сделали это, потому что next
возвращал пробел после метки.