📅  最后修改于: 2023-12-03 15:22:09.634000             🧑  作者: Mango
BeautifulSoup 是一个 Python 库,可以用于从 HTML 或 XML 文件中提取数据。它提供了不同的搜索方法,用于检索 HTML 或 XML 标记及其属性。其中之一就是检索标记的孩子。
在 HTML 中,元素可以包含其他元素。被包含的元素称为子元素,而包含其他元素的元素称为父元素。使用 BeautifulSoup 可以很容易地检索子元素。
假设我们有以下 HTML 代码:
<html>
<head>
<title>使用 BeautifulSoup 检索 html 标签的孩子</title>
</head>
<body>
<h1>标题</h1>
<p>这是一个段落。</p>
<ul>
<li>项目 1</li>
<li>项目 2</li>
<li>项目 3</li>
</ul>
</body>
</html>
使用 BeautifulSoup,我们可以找到 ul 元素,并检索其子元素 li。以下是代码:
from bs4 import BeautifulSoup
html = '''<html>
<head>
<title>使用 BeautifulSoup 检索 html 标签的孩子</title>
</head>
<body>
<h1>标题</h1>
<p>这是一个段落。</p>
<ul>
<li>项目 1</li>
<li>项目 2</li>
<li>项目 3</li>
</ul>
</body>
</html>'''
soup = BeautifulSoup(html, 'html.parser')
ul_tag = soup.ul
li_tags = ul_tag.find_all('li')
for li in li_tags:
print(li.text)
输出:
项目 1
项目 2
项目 3
在这个例子中,我们使用 find_all
方法找到了 ul 元素,然后使用 li
标签找到其所有的子元素。我们使用 for
循环遍历所有的子元素并打印它们的文本内容。
除了 find_all
方法之外,BeautifulSoup 还提供了其他方法用于检索子元素,例如 find
方法。
在 HTML 中,元素可以包含其他元素。使用 BeautifulSoup 可以很容易地检索子元素。我们可以使用 find_all
或 find
方法找到 ul 元素,并使用 li
标签检索其所有的子元素。在遍历子元素时,我们可以使用 for
循环并打印每个元素的文本内容。