with how div all python find beautifulsoup siblings

python - how - beautifulsoup: encuentra el hermano del elemento n-ésimo



python scraper beautifulsoup (2)

Si la tag es la tabla más interna, entonces

tag.findNextSibling(''h2'')

estarán

<h2>This is hell!</h2>

Para obtener literalmente al próximo hermano, puedes usar tag.nextSibling , que en este caso es u''/n'' .

Si quieres el siguiente hermano que no sea un NavigableString (como u''/n'' ), entonces podrías usar

tag.findNextSibling(text=None)

Si quieres el segundo hermano (sin importar de qué se trate), podrías usar

tag.nextSibling.nextSibling

(pero tenga en cuenta que si la tag no tiene un próximo hermano, entonces tag.nextSibling será None , y tag.nextSibling.nextSibling generará AttributeError ).

Tengo un árbol DOM html complejo de la siguiente naturaleza:

<table> ... <tr> <td> ... </td> <td> <table> <tr> <td> <!-- inner most table --> <table> ... </table> <h2>This is hell!</h2> <td> </tr> </table> </td> </tr> </table>

Tengo un poco de lógica para descubrir la mesa más interna. Pero después de haberlo encontrado, necesito obtener el siguiente elemento hermano (h2). ¿Hay alguna forma de que puedas hacer esto?


Cada objeto de etiqueta tiene un atributo nextSibling que es exactamente lo que está buscando: el próximo hermano (o None para una etiqueta que es el último hijo de su etiqueta principal, por supuesto).