Duplicar posible:
Beautiful Soup cannot find a CSS class if the object has other classes, tooBeautifulSoup y búsqueda por clase de
estoy usando BeautifulSoup encontrar tables
en el código HTML. El problema con el que me estoy encontrando actualmente es el uso de espacios en el atributo class
. Si mi HTML lee <html><table class="wikitable sortable">blah</table></html>
, me parece que no puede extraerlo con la siguiente (donde iba a ser capaz de encontrar tables
tanto con wikipedia
y wikipedia sortable
para la class
):
BeautifulSoup(html).findAll(attrs={'class':re.compile("wikitable(sortable)?")})
Esto encontrará la mesa si mi HTML es solo <html><table class="wikitable">blah</table></html>
sin embargo. Del mismo modo, he intentado usar "wikitable sortable"
en mi expresión regular, y eso tampoco coincidirá. ¿Algunas ideas?
Solo como una actualización, la última versión de BeautifulSoup (bs4) maneja esto mucho más elegantemente: http://www.crummy.com/software/BeautifulSoup/bs4/doc/#searching-by-css-class – Eli