前提・実現したいこと
次のHTMLからポケモン1~4と、ポケモンの名前を抜き取るプログラムを作りたいと考えています。
最終的には
ポケモン1:アチャモ
ポケモン2:ワカシャモ
ポケモン3:バシャーモ
ポケモン4:ミズゴロウ
と自動で出力されるようにしたいです。
下記コードのpokemonnames[0]がうまくいかない原因であると思いますが、うまく抽出する方法がわかりません。
ちなみにbeautifulsoupを使っています。
現在のコードではうまく抽出できていないため、やり方をご教授ください。
<table class="table table-striped table-list-view ipo-history-list" style="position: relative;"><tbody><tr data-symbol=""><td class="symbol-code-cell">6523</td><td class="symbol-cell"><div><div class="symbol-name">ポケモン1</div></div></td><td class="winner-result-cell">アチャモ</td><td class="application-time-cell date-cell">2021/09/28 20:04</td><td class="winner-time-cell date-cell">-</td><td class="winner-buy-period-cell date-cell"><div><div><!-- react-text: 871 -->開始:<!-- /react-text --><!-- react-text: 872 -->10月7日(木) 09時00分<!-- /react-text --></div><div><!-- react-text: 874 -->終了:<!-- /react-text --><!-- react-text: 875 -->10月11日(月) 08時59分<!-- /react-text --></div></div></td><td class="spare-buy-period-cell date-cell"><div><div><!-- react-text: 879 -->開始:<!-- /react-text --><!-- react-text: 880 -->10月11日(月) 09時00分<!-- /react-text --></div><div><!-- react-text: 882 -->終了:<!-- /react-text --><!-- react-text: 883 -->10月12日(火) 15時30分<!-- /react-text --></div></div></td><td class="update-time-cell date-cell">2021/09/29 12:11</td><td class="stretch-cell"></td></tr><tr data-symbol=""><td class="symbol-code-cell">7371</td><td class="symbol-cell"><div><div class="symbol-name">ポケモン2</div></div></td><td class="winner-result-cell">ワカシャモ</td><td class="application-time-cell date-cell">2021/05/25 19:34</td><td class="winner-time-cell date-cell">-</td><td class="winner-buy-period-cell date-cell"><div><div><!-- react-text: 897 -->開始:<!-- /react-text --><!-- react-text: 898 -->6月8日(火) 09時00分<!-- /react-text --></div><div><!-- react-text: 900 -->終了:<!-- /react-text --><!-- react-text: 901 -->6月10日(木) 08時59分<!-- /react-text --></div></div></td><td class="spare-buy-period-cell date-cell"><div><div><!-- react-text: 905 -->開始:<!-- /react-text --><!-- react-text: 906 -->6月10日(木) 09時00分<!-- /react-text --></div><div><!-- react-text: 908 -->終了:<!-- /react-text --><!-- react-text: 909 -->6月11日(金) 15時30分<!-- /react-text --></div></div></td><td class="update-time-cell date-cell">2021/06/07 16:19</td><td class="stretch-cell"></td></tr><tr data-symbol=""><td class="symbol-code-cell">4198</td><td class="symbol-cell"><div><div class="symbol-name">ポケモン3</div></div></td><td class="winner-result-cell">バシャーモ</td><td class="application-time-cell date-cell">2021/05/21 07:17</td><td class="winner-time-cell date-cell">-</td><td class="winner-buy-period-cell date-cell"><div><div><!-- react-text: 923 -->開始:<!-- /react-text --><!-- react-text: 924 -->6月2日(水) 09時00分<!-- /react-text --></div><div><!-- react-text: 926 -->終了:<!-- /react-text --><!-- react-text: 927 -->6月4日(金) 08時59分<!-- /react-text --></div></div></td><td class="spare-buy-period-cell date-cell"><div><div><!-- react-text: 931 -->開始:<!-- /react-text --><!-- react-text: 932 -->6月4日(金) 09時00分<!-- /react-text --></div><div><!-- react-text: 934 -->終了:<!-- /react-text --><!-- react-text: 935 -->6月7日(月) 15時30分<!-- /react-text --></div></div></td><td class="update-time-cell date-cell">2021/05/25 12:25</td><td class="stretch-cell"></td></tr><tr data-symbol=""><td class="symbol-code-cell">4199</td><td class="symbol-cell"><div><div class="symbol-name">ポケモン4</div></div></td><td class="winner-result-cell">ミズゴロウ</td><td class="application-time-cell date-cell">2021/05/21 07:17</td><td class="winner-time-cell date-cell">-</td><td class="winner-buy-period-cell date-cell"><div><div><!-- react-text: 949 -->開始:<!-- /react-text --><!-- react-text: 950 -->6月2日(水) 09時00分<!-- /react-text --></div><div><!-- react-text: 952 -->終了:<!-- /react-text --><!-- react-text: 953 -->6月4日(金) 08時59分<!-- /react-text --></div></div></td><td class="spare-buy-period-cell date-cell"><div><div><!-- react-text: 957 -->開始:<!-- /react-text --><!-- react-text: 958 -->6月4日(金) 09時00分<!-- /react-text --></div><div><!-- react-text: 960 -->終了:<!-- /react-text --><!-- react-text: 961 -->6月7日(月) 15時30分<!-- /react-text --></div></div></td><td class="update-time-cell date-cell">2021/05/25 12:26</td><td class="stretch-cell"></td></tr></tbody></table>
該当のソースコード
python
1pokemonsauce = "HTMLを入れてあります"
2pokemons = pokemonsauce.find_all('div', attrs={'class': 'symbol-name'})
3pokemon = pokemons[0].text
4pokemonnames = pokemonsauce.find_all('td', attrs={'class': 'winner-result-cell'})
5pokemonname = pokemonnames[0].text
6details = {}
7 for pokemon in pokemons:
8 pokemonname = pokemonnames[0].text
9 details[pokemon] = pokemonname
10
11出力
12ポケモン1:アチャモ
13ポケモン2:アチャモ
14ポケモン3:アチャモ
15ポケモン4:アチャモ
16
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
わかりづらいところばかりですが、質問いただければできるだけ早めに返答いたします。