with tutorial scraping scrap examples code python beautifulsoup

tutorial - web scraping python



Selector de clase mĂșltiple Beautifulsoup (2)

Puede usar selectores de CSS en su lugar, que es probablemente la mejor solución aquí.

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

También puedes usar una función.

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)

Quiero seleccionar todos los divs que tienen tanto A como B como atributos de clase.

La siguiente selección

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

sin embargo, selecciona todos los div que tienen A o B en sus atributos de clase. Las clases pueden tener muchos otros atributos (C, D, etc.) en cualquier orden, pero quiero seleccionar solo aquellos que tienen A y B.


Use los css selectors lugar:

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