下記のような構造のhtmlから、各<th>タグの直下の<td>タグを取得したい場合、取得が上手くいかないので教えていただけますでしょうか。下記の方法では出来たのですが、直感的ではないので、thタグのクラスを使って取得したいと考えてます。例えば、単勝のthのすぐ下のtdの2という数字や複勝のthの2番目の下のtdの170という数字を取得したいと考えてます。
取得したいHTMLの構造
<tr> <th class="tan">単勝</th> <td>2</td> <td class="txt_r">450</td> <td class="txt_r">2</td> </tr> <tr> <th align="center" class="fuku">複勝</th> <td>2<br/>5<br/>6</td> <td class="txt_r">170<br/>1,340<br/>310</td> <td class="txt_r">2<br/>12<br/>6</td> </tr> <tr> <th align="center" class="waku">枠連</th> <td>1 - 3</td> <td class="txt_r">1,170</td> <td class="txt_r">5</td> </tr> <tr> <th align="center" class="uren">馬連</th> <td>2 - 5</td> <td class="txt_r">21,850</td> <td class="txt_r">39</td> </tr> </table>試したこと
上手く行ったやり方
リストの取得
①td_list=html.find_all("td")
②fuku = td_list[0]
上手くいかなかったやり方
上記のような取得の仕方ではなく、
①this_td = html.find("th", class_="fuku")
②fuku = this_td.sibling
のようなやり方でスクレイピングをしたいと思うのですが、エラーになります。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/03 10:22
2018/07/03 11:42
2018/07/03 12:11