使用Beautifulsoup获取文本oustside标签

时间:2015-06-04 15:39:12

标签: python 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

1 个答案:

答案 0 :(得分: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    ('