我对这一切都很陌生,并且很难使用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 :(得分: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 ('