2011-08-25 16 views
5

estoy analizar una página web con BeautifulSoup, y tiene algunos elementos como los siguientes:Obtener texto fuera de una etiqueta y dentro de otro

<td><font size="2" color="#00009c"><b>Consultant Registration Number :</b></font> 16043646</td> 

La estructura siempre parece ser un <td> con la primera parte rodeada <font><b>, y el texto después de la etiqueta </font> puede estar vacío. ¿Cómo puedo obtener ese texto que está después de la etiqueta de la fuente?

En este ejemplo, me gustaría obtener "16043646". Si el HTML fue lugar

<td><font size="2" color="#00009c"><b>Consultant Registration Number :</b></font></td> 

yo quiero conseguir ""

Respuesta

5
>>> from BeautifulSoup import BeautifulSoup 
>>> text1 = '<td><font size="2" color="#00009c"><b>Consultant Registration Number :</b></font> 16043646</td>' 
>>> text2 = '<td><font size="2" color="#00009c"><b>Consultant Registration Number :</b></font></td>' 
>>> BeautifulSoup(text1).td.font.nextSibling 
u' 16043646' 
>>> BeautifulSoup(text2).td.font.nextSibling 
>>> 
+0

Gracias. Estaba viendo esa parte de los documentos, pero no me di cuenta de que nextSibling recibió el texto fuera de las etiquetas. – murgatroid99

Cuestiones relacionadas