estoy tratando de obtener los elementos de un documento HTML que contiene el siguiente patrón de texto: # \ S {11}BeautifulSoup para encontrar una etiqueta HTML que contiene un texto determinado
<h2> this is cool #12345678901 </h2>
Por lo tanto, la anterior coincidiría con:
soup('h2',text=re.compile(r' #\S{11}'))
Y el resultado sería algo como:
[u'blahblah #223409823523', u'thisisinteresting #293845023984']
soy capaz de obtener todo el texto que m atches (ver la línea arriba). Pero quiero que el elemento padre del texto coincida, así que puedo usarlo como punto de partida para recorrer el árbol de documentos. En este caso, quisiera que regresen todos los elementos h2, no el texto coincida.
Ideas?
En realidad, la restricción h2 se ignora de acuerdo con la documentación de BeautifulSoup: "Si usa texto, se ignorarán los valores que proporcione para el nombre y los argumentos de la palabra clave". – Rabarberski
@Rabarberski No estoy seguro de cuál era la situación en 2010, pero [en 2012] (https://web.archive.org/web/20120427003845/http://www.crummy.com/software/BeautifulSoup/bs4/doc/ # the-text-argument) encuentra que usar 'text' (o' string' que lo reemplazó) no ignoraría ninguna otra restricción –