Вы можете найти текст; результат в NavigableString
объект, который сохраняет информацию о том, где в дереве он живет, а значит, вы можете задать его на следующий собрата из этого элемента:
>>> from bs4 import BeautifulSoup
>>> import re
>>> sample = '''\
... <br>Website: <a href="http://www.aa.com">http://www.aa.com</a><br>
... '''
>>> soup = BeautifulSoup(sample)
>>> soup.find(text=re.compile('Website:'))
u'Website: '
>>> soup.find(text=re.compile('Website:')).next_sibling
<a href="http://www.aa.com">http://www.aa.com</a>
После того, как у вас есть <a>
элемент получает либо атрибут href
или содержащий текст является тривиальным:
>>> soup.find(text=re.compile('Website:')).next_sibling['href']
'http://www.aa.com'
>>> soup.find(text=re.compile('Website:')).next_sibling.string
u'http://www.aa.com'