2011-08-25 9 views
5

Sto l'analisi di una pagina web con BeautifulSoup, e ha alcuni elementi come il seguente:Ottenere il testo fuori un tag e all'interno di un altro

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

La struttura sembra sempre di essere un <td> con la prima parte circondata da <font><b> e il testo dopo il tag </font> può essere vuoto. Come posso ottenere quel testo che è dopo il tag del font?

In questo esempio vorrei ottenere "16043646". Se l'HTML è stato invece

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

vorrei ottenere ""

risposta

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

Grazie. Stavo guardando quella parte dei documenti, ma non mi ero reso conto che nextSibling avesse del testo fuori dai tag. – murgatroid99

Problemi correlati