Задать вопрос
@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>
  • Вопрос задан
  • 43 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    4в1—Парсинг, Асинхронность, Многопоточность, Многопроцессорность
    2 месяца
    Далее
  • Хекслет
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Stepik
    FullStack Developer and Data Scientist (Python+JS+Data+CookBook)
    4 месяца
    Далее
Решения вопроса 1
Maksim_64
@Maksim_64
ML Engineer
soup_all_templates.find_all(lambda tag: tag.name == 'a' and tag.get('class') == ['save-state'])

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

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

Похожие вопросы