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

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

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

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