2015-06-04 29 views
2

我對這一切都很陌生,並且很難在使用BeautifulSoup的任何標籤之外獲取特定文本。使用Beautifulsoup獲取文本外側標籤

這裏是我的代碼:

from bs4 import BeautifulSoup 

soup = BeautifulSoup(''' 
<li id="SalesRank" style="list-style : none"> 
    <b>Sellers Rank:</b> 
    #81 in Fun 
    (<a href="http://www.google.com">See Top 100</a>) 
</li> 
''') 


theRank = soup.find('li', attrs={'id':'SalesRank'}).find('b', text="Sellers Rank:") 
print theRank.find_next_sibling().text.strip() 

我試圖讓#81 in Fun

+0

什麼輸出你的代碼給你,什麼是錯呢? – PurpleVermont

回答

4

全文元素<b>標籤後,將包括(左括號。

使用.next_sibling attribute從給定的標籤獲取的下一個對象:

>>> soup.find('li', attrs={'id':'SalesRank'}).find('b', text="Sellers Rank:") 
<b>Sellers Rank:</b> 
>>> soup.find('li', attrs={'id':'SalesRank'}).find('b', text="Sellers Rank:").next_sibling 
u' \n #81 in Fun\n (' 
+0

真棒,非常感謝你! – Omited

相關問題