我有一个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?
答案 0 :(得分: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)。