Also in einem HTML-Dokument bei einer URL ich interessiere, die Informationen, die ich auf jeder Seite will nicht eindeutig durch das Tag um ihn herum, sondern durch das Tag vor , dass es so etwas wiePython: Wie kann HTMLParser Daten von einem Subtag verarbeiten
<div class="unique">
<span class="not unique>
data I want to get
</span>
</div>
In meiner HTMLParser Klasse sieht ich die handle_starttag Methode mit diesem
def handle_starttag(self, tag, attrs):
self.inLink = False
if tag == 'div':
for name, value in attrs:
if name == 'class' and value == 'unique':
self.inLink = True
self.lasttag = tag
if tag == 'span':
if self.lasttag == 'div' and self.inLink:
self.inlink = True
self.lasttag = tag
overrided aber es funktioniert nicht. Warum setzt dies mein starttag nicht auf ein span-Tag innerhalb eines div-Tags, das class = "unique" hat, und wie wird das normalerweise gemacht?
keine direkte Antwort auf Ihre Frage: Nur wenige Menschen die HTMLParser Klasse verwenden überhaupt direkt, für eine Vielzahl von Gründen. Die meisten von uns verwenden einen oder mehrere Produkte wie BeautifulSoup, Selen, Scrapy usw. –
Danke für die Einsicht - je mehr ich recherchiert habe, desto mehr sehe ich diesen Punkt. Ich habe es tatsächlich geschafft, dieses Problem zu lösen, und habe unten eine Antwort geschrieben. –
Gern geschehen. Und herzlichen Glückwunsch. nicht jeder kann das tun. Stellen Sie sich vor, Sie tun das für all das Kratzen, das heutzutage gemacht wird. –