Beautifulsoup 多类选择器

新手上路,请多包涵

我想选择所有同时具有 A 和 B 作为类属性的 div。

以下选择

soup.findAll('div', class_=['A', 'B'])

但是选择所有在其类属性中具有 A 或 B 的 div。类可能有许多其他属性(C、D 等),顺序不限,但我只想选择那些同时具有 A 和 B 的属性。

原文由 Botond 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 537
2 个回答

使用 css selectors 代替:

 soup.select('div.A.B')

原文由 lucasnadalutti 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以改用 CSS 选择器,这可能是这里最好的解决方案。

 soup.select("div.classname1.classname2")

你也可以 使用一个函数

 def interesting_tags(tag):
    if tag.name == "div":
        classes = tag.get("class", [])
        return "A" in classes and "B" in classes

soup.find_all(interesting_tags)

原文由 sytech 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏