Ich versuche, die Elemente in einem HTML-Dokument zu erhalten, die das folgende Muster von Text enthalten: # \ S {11}BeautifulSoup Mit einem HTML-Tag zu finden, die einen bestimmten Text enthält
<h2> this is cool #12345678901 </h2>
Also, die
soup('h2',text=re.compile(r' #\S{11}'))
Und die Ergebnisse wären so etwas wie:
[u'blahblah #223409823523', u'thisisinteresting #293845023984']
ich bin in der Lage zu bekommen alle den Text, den m vorherige unter Verwendung würde passen atches (siehe Zeile oben). Aber ich möchte, dass das Elternelement des Textes übereinstimmt, also kann ich das als Ausgangspunkt für das Durchlaufen des Dokumentenbaums verwenden. In diesem Fall möchte ich, dass alle h2-Elemente zurückgegeben werden, nicht die Textübereinstimmungen.
Ideen?
Tatsächlich wird die h2-Einschränkung gemäß der BeautifulSoup-Dokumentation ignoriert: "Wenn Sie Text verwenden, werden alle Werte, die Sie für den Namen und die Schlüsselwortargumente angeben, ignoriert." – Rabarberski
@Rabarberski Nicht sicher, was die Situation in 2010 war, aber [bis 2012] (https://web.archive.org/web/20120427003845/http://www.crummy.com/software/BeautifulSoup/bs4/doc/ # the-text-argument) findet, dass 'text' (oder' string', die es ersetzt) keine anderen Einschränkungen ignoriert. –