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


Python BeautifulSoup Tag descendants属性用法及代码示例


Beautiful Soup 中的 Tag.descendants 属性返回一个生成器,用于迭代所有子元素和文本节点(即可导航字符串)。

例子

考虑以下 HTML 文档:

my_html = """
       <div id="names">
              <p>Alex</p>
              <p>Bob</p>
       </div>
"""
soup = BeautifulSoup(my_html)

要迭代所有子元素和文本节点:

for child in soup.find("div").descendants:
   print(child)




 
<p>Alex</p>
Alex

 
<p>Bob</p>
Bob

尴尬的间距是由于文本节点(在本例中是换行符(即 "\n" ))也会被迭代而引起的。

大多数时候,您只需要没有文本节点的元素。您可以使用 find_all(~) 方法来执行此操作:

soup.find("div").find_all()



[<p>Alex</p>, <p>Bob</p>, <p>Cathy</p>]

请注意如何排除文本节点。

相关用法


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