2017-08-01 11 views
-1

多くのテーブルを含むdivから最初のテーブルのデータを取得しようとしていますが、どうすればいいですか?私は、テーブルクラスのデータ=「tblpor」と次は私が作成したコードである必要がある美しいスープ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> 

は、しかし、それは私の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

+0

'soup2.findAll'は、名前全体が意味するように、ドキュメント全体の中のものを検索します。 – ForceBru

+0

その答えがあなたが望んだことをしたなら、あなたはそれを「受け入れ」とマークするべきです。 –

+1

ありがとうございました。数分後に回答を受け入れることができます。 – babsdoc

答えて

4

あなたはそうのようなCSSセレクタを使用して、最初のテーブルを選択することができます。各行のセルのデータを抽出するために、ここから上のキャリング

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

は簡単です。

+0

ありがとう@Oluwafemi。わかった ! – babsdoc

関連する問題