📌  相关文章
📜  使用 BeautifulSoup 检索 html 标签的孩子(1)

📅  最后修改于: 2023-12-03 15:22:09.634000             🧑  作者: Mango

使用 BeautifulSoup 检索 html 标签的孩子

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_allfind 方法找到 ul 元素,并使用 li 标签检索其所有的子元素。在遍历子元素时,我们可以使用 for 循环并打印每个元素的文本内容。