beautifulsoup: Finde das Geschwister des n-ten Elements

8

Ich habe einen komplexen HTML-DOM-Baum der folgenden Art:

%Vor%

Ich habe eine Logik, um den innersten Tisch herauszufinden. Aber nachdem ich es gefunden habe, muss ich das nächste Geschwisterelement (h2) bekommen. Gibt es das überhaupt, kannst du das machen?

    
deostroll 10.04.2010, 13:25
quelle

2 Antworten

9

Wenn tag die innerste Tabelle ist, dann

%Vor%

wird

sein %Vor%

Um buchstäblich das nächste Geschwister zu bekommen, könntest du tag.nextSibling benutzen, was in diesem Fall u'\n' ist.

Wenn Sie das nächste Geschwister möchten, das kein NavigableString ist (z. B. u'\n' ), können Sie

verwenden %Vor%

Wenn Sie das zweite Geschwister (egal was es ist) wollen, könnten Sie

verwenden %Vor%

(Beachten Sie jedoch, dass, wenn tag kein nächstes Geschwister hat, tag.nextSibling None ist und tag.nextSibling.nextSibling ein AttributeError .)

    
unutbu 10.04.2010, 13:44
quelle
0

Jedes Tag-Objekt hat ein nextSibling Attribut, das genau das ist, was Sie tun suche nach - dem nächsten Geschwister (oder None für ein Tag, das natürlich das letzte Kind seines Eltern-Tags ist).

    
Alex Martelli 10.04.2010 16:42
quelle