📜  BeautifulSoup – 使用 CSS 选择器按 CSS 类查找标签(1)

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

BeautifulSoup – 使用 CSS 选择器按 CSS 类查找标签

简介

BeautifulSoup是Python中一个功能强大的HTML和XML解析库。它提供了多种解析HTML和XML的方式,可以轻松获取元素、插入操作等。BeautifulSoup支持CSS选择器,也就是我们可以使用类似于CSS样式选择器的方式来查找标签。

在本篇文章中,我们将介绍使用BeautifulSoup按CSS类查找标签的方法。

安装

我们可以使用pip来安装BeautifulSoup。安装命令如下:

pip install beautifulsoup4
使用CSS选择器按CSS类查找标签

使用CSS选择器按CSS类查找标签非常简单。我们只需要在CSS选择器中使用“.class名”来指定要查找的CSS类,就可以查找到对应的标签了。

下面是一个例子。我们假设已有以下HTML代码:

<div class="container">
    <h1 class="title">这是标题</h1>
    <p class="content">这是内容</p>
    <p class="content">这是内容2</p>
</div>

我们可以通过以下代码,使用CSS选择器按CSS类查找标签:

from bs4 import BeautifulSoup

html = """
<div class="container">
    <h1 class="title">这是标题</h1>
    <p class="content">这是内容</p>
    <p class="content">这是内容2</p>
</div>
"""

soup = BeautifulSoup(html, "html.parser")
contents = soup.select(".content")
for content in contents:
    print(content.text)

输出结果为:

这是内容
这是内容2

上面的代码中,我们使用了“.content”的CSS选择器语法,来查找所有class名为“content”的标签,并输出它们的文本内容。

如果要查找包含多个CSS类名的标签,我们可以使用“.”来连接类名。例如我们要查找class名为“container”和“main”的标签,可以使用“.container.main”的CSS选择器语法:

tags = soup.select(".container.main")
总结

上面介绍了使用BeautifulSoup按CSS类查找标签的方法。使用CSS选择器可以方便地查找指定CSS类的标签,让我们在处理HTML和XML文档时更加便捷。