Beautiful Soup - find_parent() 方法



方法描述

BeautifulSoup 包中的 find_parent() 方法查找此 PageElement 的最接近的父元素,该元素匹配给定的条件。

语法

find_parent( name, attrs, **kwargs)

参数

  • name − 标签名称过滤器。

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

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

返回类型

find_parent() 方法返回 Tag 对象或 NavigableString 对象。

示例 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>

在下面的示例中,我们查找作为字符串“HR”父级的标签的名称。

from bs4 import BeautifulSoup 

soup = BeautifulSoup(html, 'html.parser')
obj=soup.find(string='HR')
print (obj.find_parent().name)

输出

li

示例 2

<body> 标签始终包含在顶级 <html> 标签中。在下面的示例中,我们使用 find_parent() 方法来确认此事实:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')
obj=soup.find('body')
print (obj.find_parent().name)

输出

html
广告
© . All rights reserved.