Beautiful Soup 简明教程
Beautiful Soup - next_element Property
Method Description
在 Beautiful Soup 库中,next_element 属性返回紧邻当前 PageElement 的 Tag 或 NavigableString,即使它位于父树之外。还有一个具有类似行为的 next 属性
Example 1
在从给定 HTML 字符串解析的文档树中,我们找到 <b> 标记的 next_element
html = '''
<p><b>Excellent</b><p>Python</p><p id='id1'>Tutorial</p></p>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
tag = soup.b
print (tag)
nxt = tag.next_element
print ("Next:",nxt)
nxt = tag.next_element.next_element
print ("Next:",nxt)
Output
<b>Excellent</b>
Next: Excellent
Next: <p>Python</p>
输出有点奇怪,因为 <b>Excellent</b> 的下一个元素显示为“Excellent”,这是因为内部字符串被注册为下一个元素。若要将所需结果 (<p>Python</p>) 作为下一个元素,请提取内部 NavigableString 对象的 next_element 属性。
Example 2
BeautifulSoup PageElements 还支持类似于 next_element 属性的 next 属性
html = '''
<p><b>Excellent</b><p>Python</p><p id='id1'>Tutorial</p></p>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
tag = soup.b
print (tag)
nxt = tag.next
print ("Next:",nxt)
nxt = tag.next.next
print ("Next:",nxt)