@quintbrut

Как спарсить содержимое класса с bs4 в python?

В общем есть
класс
<div class="fight-stats _enemy">
                <table width="100%" border="0" cellpadding="0" cellspacing="0" class="fight-stats-table">
                    <tbody>
                    <tr valign="top">
                        <td width="33%" align="center" valign="top">
                            <div class="fight-stat" id="enemy-stat-strength">5</div>
                            <div class="fight-stat-icon strength"></div>
                        </td>
                        <td width="33%" align="center" valign="top">
                            <div class="fight-stat" id="enemy-stat-dexterity">1</div>
                            <div class="fight-stat-icon dexterity"></div>
                        </td>
                        <td width="33%" align="center" valign="top">
                            <div class="fight-stat" id="enemy-stat-critical">10</div>
                            <div class="fight-stat-icon critical"></div>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </div>

Мне нужно спарсить только 3 значения
5e7299fc58b7f833819187.png

И положить их в 3 переменные: es, ed, ec.
Чтобы потом в итоге было:
es = 5
ed = 1
ec = 10


Я пробовал вот
так
info = s.get('https://example/index.php?r=fights/choose&force=1&club=official', headers=headers)
	soup = bs(info.content, "lxml")
	es = soup.find(attrs={'class': 'fight-stat'})['enemy-stat-strength']
	print("strength:", es)

но я не могу понять как это правильно написать и ничего не получилось.
  • Вопрос задан
  • 342 просмотра
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Так как всего html не вижу, могу предложить следующее решение:
es = soup.find('div',id='enemy-stat-strength').text
ed = soup.find('div',id='enemy-stat-dexterity').text
ec = soup.find('div',id='enemy-stat-critical').text

print('strength:',es)
print('dexterity:',ed)
print('critical:',ec)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы