一、方法描述
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