Beautiful Soup - children 属性



方法描述

Beautiful Soup 库中的 Tag 对象具有 children 属性。它返回一个生成器,用于迭代直接子元素和文本节点(即 NavigableString)。

语法

Tag.children

返回值

此属性返回一个生成器,您可以使用它来迭代 PageElement 的直接子元素。

示例 1

from bs4 import BeautifulSoup, NavigableString

markup = '''
   <div id="Languages">
      <p>Java</p> <p>Python</p> <p>C++</p>
   </div>
'''
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.div
children = tag.children
for child in children:
   print (child)

输出

<p>Java</p>

<p>Python</p>

<p>C++</p>

示例 2

soup 对象也具有 children 属性。

from bs4 import BeautifulSoup, NavigableString

markup = '''
   <div id="Languages">
      <p>Java</p> <p>Python</p> <p>C++</p>
   </div>
'''
soup = BeautifulSoup(markup, 'html.parser')

children = soup.children
for child in children:
   print (child)

输出

<div id="Languages">
<p>Java</p> <p>Python</p> <p>C++</p>
</div>

示例 3

在下面的示例中,我们将 NavigableString 对象附加到 <p> 标签,并获取子元素列表。

from bs4 import BeautifulSoup, NavigableString

markup = '''
   <div id="Languages">
      <p>Java</p> <p>Python</p> <p>C++</p>
   </div>
'''
soup = BeautifulSoup(markup, 'html.parser')
soup.p.extend(['and', 'JavaScript'])
children = soup.p.children
for child in children:
    print (child)

输出

Java
and
JavaScript
广告
© . All rights reserved.