2013-07-12 141 views
2

如何找到節點我有一個HTML代碼:使用美麗的湯

<table> 
<tr> 
    <td><table><tr><td>1</td></tr><tr><td>2</td></tr></table></td> 
</tr> 
<tr> 
    <td><table><tr><td>3</td></tr><tr><td>4</td></tr></table></td> 
</tr> 
</table> 

我想找到第一個表中的所有TR。 我通常使用

for tr in soup.findAll('tr'): 

但我會得到所有TR(在主表和子表TR)。如何只在主表中獲得tr?

回答

2

這個怎麼樣?

from bs4 import BeautifulSoup 

soup = BeautifulSoup(""" 
<table> 
<tr> 
    <td><table><tr><td>1</td></tr><tr><td>2</td></tr></table></td> 
</tr> 
<tr> 
    <td><table><tr><td>3</td></tr><tr><td>4</td></tr></table></td> 
</tr> 
</table> 
""") 

for tr in soup.find('table').find_all('tr', recursive=False): 
    print tr 

recursive=False有助於發現只有頂層標籤(見docs)。