美丽的汤获取div中第一个表的数据

时间:2017-08-01 16:59:19

标签: python beautifulsoup

我试图从包含许多表的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> 

我需要table 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

1 个答案:

答案 0 :(得分:4)

您可以使用css选择器选择第一个表格。

first_table = soup.select_one("table:nth-of-type(1)")

从这里开始为每行提取单元格中的数据非常简单。