À l'aide de BeautifulSoup de trouver une balise HTML qui contient un certain texte

Je vais essayer d'obtenir les éléments HTML doc qui contiennent le motif suivant du texte: #\S{11}

<h2> this is cool #12345678901 </h2>

Donc, la précédente correspond à l'aide de:

soup('h2',text=re.compile(r' #\S{11}'))

Et que le résultat serait quelque chose comme:

[u'blahblah #223409823523', u'thisisinteresting #293845023984']

Je suis en mesure d'obtenir tout le texte qui lui correspond (voir ligne ci-dessus). Mais je veux le parent de l'élément de texte à rechercher, afin que je puisse l'utiliser comme un point de départ pour parcourir l'arborescence du document. Dans ce cas, je veux tous les h2 éléments de revenir, de ne pas les correspondances de texte.

Idées?

  • En fait, le h2 restriction est ignorée selon la BeautifulSoup documentation: "Si vous utilisez du texte, toutes les valeurs que vous donnez le nom et le mot-clé arguments sont ignorés."
  • Pas sûr de ce que la situation était en 2010, mais ici 2012 conclut que l'utilisation text (ou string qui l'a remplacé) ne serait pas ignorer tous les autres restrictions
InformationsquelleAutor sotangochips | 2009-05-14