2011-08-25 41 views
5
khác

Tôi đang phân tích một trang web với BeautifulSoup, và nó có một số yếu tố như sau:Nhận văn bản bên ngoài một thẻ và bên

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

Cấu trúc luôn có vẻ là một <td> với phần đầu tiên bao quanh bởi <font><b> và văn bản sau thẻ </font> có thể trống. Làm thế nào tôi có thể nhận được văn bản đó là sau khi các thẻ font?

Trong ví dụ này, tôi muốn nhận "16043646". Nếu html là thay vì

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

tôi muốn để có được ""

Trả lời

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

Cảm ơn. Tôi đã nhìn vào đó một phần của tài liệu nhưng tôi đã không nhận ra rằng nextSibling có văn bản bên ngoài các thẻ. – murgatroid99

Các vấn đề liên quan