Beautifulsoup多类选择器

Bot*_*ond 16 python beautifulsoup

我想选择所有将A和B分别作为类属性的div.

以下选择

soup.findAll('div', class_=['A', 'B'])
Run Code Online (Sandbox Code Playgroud)

但是选择在其类属性中具有EITHER A或B的所有div.类可以有任何顺序的许多其他属性(C,D等),但我想只选择那些同时具有A和B的属性.

luc*_*tti 20

css selectors改为使用:

soup.select('div.A.B')
Run Code Online (Sandbox Code Playgroud)


syt*_*ech 6

您可以使用CSS选择器,这可能是最好的解决方案.

soup.select("div.classname1.classname2")
Run Code Online (Sandbox Code Playgroud)

你也可以使用一个功能.

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)
Run Code Online (Sandbox Code Playgroud)


小智 5

table = soup.find_all("tr",class_=["odd","even"])
Run Code Online (Sandbox Code Playgroud)

试试这个方法!确保您使用了这些引号和大括号的正确结构。这让我很困惑。