2015-04-20 54 views

回答

3

您可以搜索文本;結果在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' 
1

將您的內容視爲樹而不是字符串。
Beautifulsoup可讓您訪問解析樹,發出findall('a'),然後瀏覽分析樹parent()contents(),您也可以導航到siblings

相關問題