@drqqv

Как получить опр класс через методе find_all?

Подскажите, пожалуйста, имеется html страничка, мне нужно спарсить содержимое "a" с классом "save-state". Я использую list = soup_all_templates.find_all('a', {'class': 'save-state'}), но при парсинге метод возвращает еще "a" с классом "btn btn-edit save-state". Может я использую не тот метод ?

Получаю:
<a class="save-state" data-scroll='[data-sku="48921"]' href="/cp/48921">
<span class="activity-type sku-type">
<span class="badge badge-info">Контракт</span> </span>
<span class="title sku-title">
                    Абонемент <span class="entity-identity">(id: 48921)</span>
</span>
</a>
<span class="text-substring">(В наличии: нет)</span>

<a class="btn btn-edit save-state" data-scroll='[data-nomenclature="13129"]' href="/cp/13129"><i class="fa fa-pencil"></i> Редактировать</a>
<span class="text-substring">(В наличии: нет)</span>
  • Вопрос задан
  • 37 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
soup_all_templates.find_all(lambda tag: tag.name == 'a' and tag.get('class') == ['save-state'])

По идее так должно сработать, без самого html протестировать то возможности нет, но обычно полное совпадение делают либо как то так либо через regex.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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