Beautiful Soup - find_parents() 方法



方法描述

BeautifulSoup 包中的 find_parent() 方法查找与给定条件匹配的此元素的所有父元素。

语法

find_parents( name, attrs, limit, **kwargs)

参数

name − 标签名称的过滤器。

attrs − 属性值的过滤器字典。

limit − 找到指定数量的匹配项后停止搜索。

kwargs − 属性值的过滤器字典。

返回类型

find_parents() 方法返回一个 ResultSet,其中包含所有父元素,按反序排列。

示例 1

在本例中,我们将使用以下 HTML 脚本:

<html>
   <body>
   <h2>Departmentwise Employees</h2>
   <ul id="dept">
   <li>Accounts</li>
      <ul id='acc'>
      <li>Anand</li>
      <li>Mahesh</li>
      </ul>
   <li>HR</li>
      <ol id="HR">
      <li>Rani</li>
      <li>Ankita</li>
      </ol>
   </ul>
   </body>
</html>

输出

ul
body
html
[document]

请注意,BeautifulSoup 对象的 name 属性始终返回 [document]。

示例 2

在本例中,limit 参数传递给 find_parents() 方法,以将父级搜索限制在向上两级。

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')
obj=soup.find('li')
parents=obj.find_parents(limit=2)
for parent in parents:
   print (parent.name)

输出

ul
body
广告

© . All rights reserved.