我想从包含许多表的 div 中获取第一个表的数据,我该怎么做?
<div class="mainCont port_hold ">
<table class="tblpor">
<tr><th>Company</th><th>Code</th></tr>
<tr><td>ABC </td><td>1234</td></tr>
<tr><td>XYZ </td><td>6789</td></tr>
</table>
<table class="tblpor MT25">
<tr><th>Company</th><th>Industry</th></tr>
<tr><td>ABCDEF </td><td>aaaaa </td></tr>
<tr><td>STUVWX </td><td>bbbbb </td></tr>
</table>
</div>
我需要表 class="tblpor"的数据,下面是我创建的代码,但是它为我提供了 div 内所有表的数据。
for x in soup2.find('table', class_='tblpor'):
for y in soup2.findAll('tr'):
for z in soup2.findAll('td'):
print(z.text)
请帮忙。
问候,babsdoc
最佳答案
您可以像这样使用 css 选择器选择第一个表。
first_table = soup.select_one("table:nth-of-type(1)")
从这里继续提取每行单元格中的数据非常简单。
关于python - Beautiful Soup 获取 div 中第一个表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45443709/