Por ejemplo, si estoy buscando por el atributo de un elemento como el id:¿Usa FindAll de BeautifulSoup para buscar el texto interno del elemento html para obtener el mismo resultado que los atributos de búsqueda?
soup.findAll('span',{'id':re.compile("^score_")})
le regreso una lista de todo el elemento span que coincide (que me gusta).
Pero si trato de buscar por el innerText del elemento html así:
soup.findAll('a',text = re.compile("discuss|comment"))
le regreso sólo la parte innerText del elemento posterior que coincide en lugar de todo el elemento con etiquetas y atributos como yo haría arriba.
¿Es posible esto que ver con la salida encontrar la combinación y luego conseguir que es el padre?
Gracias.
Súper gracias. Básicamente para obtener lo que quería, simplemente tenía que mapear los resultados, así: comments = map (lambda x: x.parent, soup.findAll ('a', text = re.compile (". Discuss | comment. "))) – Jack
maplambda es feo, por lo que acababa de hacer' [s.parent de s en soup.findAll (...)] ' – nosklo
@Jack: también vale la pena es' lxml.html' - soy prefiriéndolo sobre 'BeautifulSoup' ya que este último ya no se mantiene y es más lento. – nosklo