我很好奇是否有办法只获取font
标记中的最后一个文字。
<font face="Arial, Helvetica" size="5">
No previous.<br><br>
<b>Number :</b> 1</font>
这样的事情:
soup.find('b',text='Number :').find_next_content
输出:你&#39; 1&#39;
答案 0 :(得分:1)
获取紧跟在<b>
元素之后的文本:
In [18]: soup.find('b', text='Number :').next_sibling
Out[18]: ' 1'
要在<font>
元素中获取最终文本:
In [24]: soup.find('font').contents[-1]
Out[24]: ' 1'
示例程序:
from bs4 import BeautifulSoup
soup = '''<font face="Arial, Helvetica" size="5">
No previous.<br><br>
<b>Number :</b> 1</font>'''
soup = BeautifulSoup(soup)
result0 = soup.find('b', text='Number :').next_sibling
result1 = soup.find('font').contents[-1]
assert(result0 == ' 1')
assert(result1 == ' 1')