一、方法描述
find_next_siblings()
方法与 next_sibling
属性类似。它查找当前 PageElement
在同一级别的所有后续兄弟元素,这些元素符合给定的条件并且在文档中晚些出现。
二、语法
find_next_siblings(name, attrs, string, limit, **kwargs)
三、参数
四、返回类型
find_next_siblings()
方法返回一个包含 Tag
对象或 NavigableString
对象的列表。
五、示例
示例 1
让我们使用以下 HTML 片段来进行此操作:
<p>
<b>
Excellent
</b>
<i>
Python
</i>
<u>
Tutorial
</u>
</p>
在下面的代码中,我们尝试查找 <b>
标签的所有兄弟元素。在用于抓取的 HTML 字符串中有两个在同一级别的标签。
from bs4 import BeautifulSoup
soup = BeautifulSoup("<p><b>Excellent</b><i>Python</i><u>Tutorial</u></p>", 'html.parser')
tag1 = soup.find('b')
print("next siblings:")
for tag in tag1.find_next_siblings():
print(tag)
输出:
next siblings:
<i>Python</i>
<u>Tutorial</u>
find_next_siblings()
的结果集使用 for
循环进行了迭代。
示例 2
如果没有在某个标签之后找到兄弟元素,此方法将返回一个空列表。
from bs4 import BeautifulSoup
soup = BeautifulSoup("<p><b>Excellent</b><i>Python</i><u>Tutorial</u></p>", 'html.parser')
tag1 = soup.find('u')
print("next siblings:")
print(tag1.find_next_siblings())
输出:
next siblings:
[]