2010-08-15 70 views
2

說我引用一個元素的表內的HTML頁面是這樣的:使用BeautifulSoup,我可以快速遍歷到特定的父元素嗎?

someEl = soup.findAll(text = "some text") 

我肯定知道這個元素嵌入一個表裏面,有沒有辦法找到父表,而不必調用.parent這麼多次?

<table...> 

.. 
.. 
<tr>....<td><center><font..><b>some text</b></font></center></td>....<tr> 

<table> 

回答

1
while someEl.name != "table": 
    someEl = someEl.parent 
# someEl is now the table 
5

退房findParents,它有一個類似的形式來findAll

soup = BeautifulSoup("<table>...</table>") 

for text in soup.findAll(text='some text') 
    table = text.findParents('table')[0] 
    # table is your now your most recent `<table>` parent 

這裏有the docsfindAllPreviousfindParents

相關問題