若要获取Beautifulsoup中元素的类名,需要使用以下语法:
element['class']
通过使用此语法,我们将学习如何:
- 获取元素的类名
- 获取元素的多类名称
- 获取多元素的类名
内容
获取元素的类名
在下面的示例中,我们将获取 div 元素的类名。
from bs4 import BeautifulSoup # ?️ Import BeautifulSoup module
# ? HTML Source
html = '''
<div class="node">
<p>Hello Beautifulsoup</p>
</div>
'''
soup = BeautifulSoup(html, 'html.parser') # ?️ Parsing
el = soup.find("div") # ?️ Find <div>
div_class = el['class'] # ?️ Get div class name
print(div_class) # ?️ Print Result
输出:
['node']
如您所见,我们将结果作为列表获得,因为一个元素可能包含多个类名。如果要获取列表中的类名,请按照下面的代码操作。
if div_class: # ?️ Check if DIV has a class attr
print(div_class[0]) # ?️ Print Class name
输出:
node
我们使用了 if 条件,因为如果元素没有 class 属性,我们将收到错误。但是,您可以在 find() 函数中设置 class_=True 参数,而不是 if 条件。
通过设置 class_=True 参数,我们告诉函数我们要查找具有类属性的元素。
# ? HTML Source
html = '''
<div class="node">
<p>Hello Beautifulsoup</p>
</div>
'''
soup = BeautifulSoup(html, 'html.parser') # ?️ Parsing
el = soup.find("div", class_=True) # ?️ Find <div>
div_class = el['class'] # ?️ Get div class name
print(div_class[0]) # ?️ Print Class name
输出:
node
获取元素的多类名称
在下面的示例中,我们将了解如何使用具有多类名称的元素。
# ? HTML Source
html = '''
<div class="node text fav">
<p>Hello Beautifulsoup</p>
</div>
'''
soup = BeautifulSoup(html, 'html.parser') # ?️ Parsing
el = soup.find("div") # ?️ Find <div>
div_class = el['class'] # ?️ Get div class name
print(div_class) # ?️ Print Result
输出:
['node', 'text', 'fav']
现在,让我们打印每个类名。
# # ? Print each class name
for _class in div_class:
print(_class)
输出:
node
text
fav
获取多元素的类名
下面的示例将说明如何获取多元素的类名。
# ? HTML Source
html = '''
<div class="node">
<p>Hello Beautifulsoup</p>
</div>
<div class="node_1">
<p>Hello Beautifulsoup</p>
</div>
<div class="node_2">
<p>Hello Beautifulsoup</p>
</div>
<div>
<p>Hello Beautifulsoup</p>
</div>
'''
soup = BeautifulSoup(html, 'html.parser') # ?️ Parsing
els = soup.find_all("div", class_=True) # ?️ Find all <div> tags with existing class attr
for el in els: # ?️ Loop over els
print(el['class']) # ?️ Print Class name
输出:
['node']
['node_1']
['node_2']
结论
我们已经介绍了有关从元素或多元素获取类名的所有内容。有关更多美比特福汤主题,请向下滚动并快乐学习。
本教程的示例可在 GitHub 上找到。