Last modified: Sep 20, 2023 By Alexander Williams
Beautifulsoup Find Div With Multiple Classes [Examples]
Find a <div> with two classes:
from bs4 import BeautifulSoup
html = """
<div class="class1 class2">This is a div with multiple classes</div>
"""
soup = BeautifulSoup(html, 'html.parser')
# Find the <div> element with both class1 and class2
result = soup.find('div', class_='class1 class2')
print(result)
Output:
<div class="class1 class2">This is a div with multiple classes</div>
Find all <div> elements with a specific class:
from bs4 import BeautifulSoup
html = """
<div class="class1">First div</div>
<div class="class2">Second div</div>
<div class="class1">Third div</div>
"""
soup = BeautifulSoup(html, 'html.parser')
# Find all <div> elements with class="class1"
results = soup.find_all('div', class_='class1')
for result in results:
print(result)
Output:
<div class="class1">First div</div>
<div class="class1">Third div</div>
Find a <div> with multiple classes using CSS selector:
from bs4 import BeautifulSoup
html = """
<div class="class1 class2">This is a div with multiple classes</div>
"""
soup = BeautifulSoup(html, 'html.parser')
# Find the <div> element with both class1 and class2 using a CSS selector
result = soup.select_one('div.class1.class2')
print(result)
Output:
<div class="class1 class2">This is a div with multiple classes</div>
Find <div> with Multiple Classes Using BeautifulSoup's select() Method:
from bs4 import BeautifulSoup
html = """
<div class="class1 class2">This is a div with multiple classes</div>
"""
soup = BeautifulSoup(html, 'html.parser')
# Find the <div> element with both class1 and class2 using a CSS selector with select method
result = soup.select('div.class1.class2')
print(result)
Output:
[<div class="class1 class2">This is a div with multiple classes</div>]
Find a <div> with specific class and its contents:
from bs4 import BeautifulSoup
html = """
<div class="container">
<div class="content">This is the content</div>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
# Find the <div> with class="container" and then find the nested <div> with class="content"
result = soup.find('div', class_='container').find('div', class_='content')
print(result)
Output:
<div class="content">This is the content</div>