汤解析器无法提取类信息

时间:2019-08-21 04:55:34

标签: beautifulsoup

运行查询时: soup.find_all('div')

我得到结果:

<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">

尽管我跑步时soup.find_all('div', _class='class-link')却得到了空名单。

什么原因导致此问题,如何获得正确的div?

3 个答案:

答案 0 :(得分:1)

class作为键值对传递给attrs参数,就像这样:

soup.find_all('div', {'class': 'class-link'})

结果:

[<div class="class-link">
<a class="btn btn-primary" href="abc" style="text-decoration: underline">
                                                    See all</a>
</div>, <div class="class-link"></div>]

答案 1 :(得分:1)

根据BeautifulSoup4文档

它必须是class_而不是_class

因此您的代码必须更改为

print(soup.find_all("div", class_="class-link"))

答案 2 :(得分:0)

我个人认为CSS选择器更加简洁

soup.select('div.class-link')

其中。是CSS class selector