from example python html class beautifulsoup

example - Python, hermosa sopa, consigue todo el nombre de la clase



from bs4 import beautifulsoup (1)

Puede tratar cada instancia de Tag encontrada como un diccionario cuando se trata de recuperar atributos. Tenga en cuenta que el valor del atributo de class sería una lista, ya que la class es un atributo especial de "valor múltiple" :

classes = [] for element in soup.find_all(class_=True): classes.extend(element["class"])

O:

classes = [value for element in soup.find_all(class_=True) for value in element["class"]]

Manifestación:

In [1]: from bs4 import BeautifulSoup In [2]: data = """ ...: <div class="class1"> ...: <span class="class2">some text</span> ...: <span class="class3">some text</span> ...: <span class="class4">some text</span> ...: </div>""" In [3]: soup = BeautifulSoup(data, "html.parser") In [4]: classes = [value ...: for element in soup.find_all(class_=True) ...: for value in element["class"]] In [5]: print(classes) [''class1'', ''class2'', ''class3'', ''class4'']

dado un código html digamos:

<div class="class1"> <span class="class2">some text</span> <span class="class3">some text</span> <span class="class4">some text</span> </div>

¿Cómo puedo recuperar todos los nombres de clase? es decir: [''class1'', ''class2'', ''class3'', ''class4'']

Lo intenté:

soup.find_all(class_=True)

Pero recupera toda la etiqueta y luego necesito hacer algunas expresiones regulares en la cadena