@Alexo99

Как парсить дату через bs4 если есть одинаковые теги?

В коде html файла есть следующее
...
<a class="tgme_widget_message_date" href="https://t.me/breakingmash/23129">
    <time datetime="2021-01-23T16:19:47+00:00" class="time">18:19</time></a>
...

Обращаюсь к этому елементу следующим образом
date = item.find('time')['datetime']
Получаю вывод: "2021-01-23T16:19:47+00:00"
Но попадаються сайты в которых есть похожие елементы, тоесть на подобее этого:
...
<div class="message_video_play js-message_video_play"></div>
    <time class="message_video_duration js-message_video_duration">0:15</time>
...
<a class="tgme_widget_message_date" href="https://t.me/breakingmash/23129">
    <time datetime="2021-01-23T16:19:47+00:00" class="time">18:19</time></a>

и когда я обращаюсь к 'time' мне выбивает ошибку KeyError: 'datetime', тоесть оно думает что я обращаюсь к первому елементу
Как можно обойти эту проблему?
  • Вопрос задан
  • 299 просмотров
Решения вопроса 1
@Alexo99 Автор вопроса
Решил проблему следующим образом:
date1 = item.find("a", class_="tgme_widget_message_date")
date2 = date1.find('time')['datetime']
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AVKor
мне выбивает ошибку KeyError: 'datetime'
Как можно обойти эту проблему?

Никак. Во втором примере нет 'datetime'.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
26 июн. 2024, в 17:00
8000 руб./за проект
26 июн. 2024, в 17:00
5000 руб./за проект