当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python BeautifulSoup find_next方法用法及代码示例


Beautiful Soup 的 find_next(~) 方法返回文档中当前标签之后的第一个标签。此方法采用与 find(~) 完全相同的参数,我们在此处详细记录了这些参数。

例子

基本用法

考虑以下 HTML 文档:

my_html = """
    <p id="alex">Alex</p>
    <p>Bob</p>
    <p id="cathy">Cathy</p>
"""
soup = BeautifulSoup(my_html, "html.parser")

要查找 Alex 标签之后的所有标签:

p = soup.find(id="alex")
p.find_next()



<p>Bob</p>

要查找 Alex 标签后带有 id="cathy" 的下一个标签:

p = soup.find(id="alex")
p.find_next(id="cathy")



<p id="cathy">Cathy</p>

父级不共享的情况

一个常见的混淆来源是当我们有以下 HTML 文档时:

my_html = """
   <div>
      <p id="alex">Alex</p>
   </div>
   <p>Bob</p>
"""
soup = BeautifulSoup(my_html, "html.parser")

在这里,Bob 的标签与 Alex 的标签不共享同一父级。在 Alex 的标签上调用 find_next(~) 会产生:

p = soup.find(id="alex")
p.find_next()



<p>Bob</p>

请注意 find_next(~) 如何返回 HTML 文档中当前标记之后的标记。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 BeautifulSoup | find_next method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。