Reputation: 663
While running query:
soup.find_all('div')
I get results:
<div class="class-link">
<a class="btn btn-primary" href="abc" style="text-decoration: underline">
See all</a>
</div>, <div class="sota-table-link">
<a class="btn btn-primary" href="abc" style="text-decoration: underline">
See all</a>
</div>, <div class="class-link">
Though when I run: soup.find_all('div', _class='class-link')
I get empty list.
What causes this issue and how can I get correct div?
Upvotes: 1
Views: 20
Reputation: 84465
Personally I find css selectors a lot cleaner
soup.select('div.class-link')
where the . is a css class selector
Upvotes: 0
Reputation: 295
According to the BeautifulSoup4 documentation
it must be class_
and not _class
So you code mus be changed to
print(soup.find_all("div", class_="class-link"))
Upvotes: 1
Reputation: 1122
Pass the class
as key-value pairs to the attrs
parameter, instead, like this:
soup.find_all('div', {'class': 'class-link'})
Result:
[<div class="class-link">
<a class="btn btn-primary" href="abc" style="text-decoration: underline">
See all</a>
</div>, <div class="class-link"></div>]
Upvotes: 1