r4khic
@r4khic
Начинающий кодер на python

Как преобразовать дату в нужный мне формат?

Всем привет ! Я парсю дату одной страницы.И вот результат парсинга такой
2019-08-22T00:01:00Z

Код:
def get_data(html):
    soup = BeautifulSoup(html, 'lxml')
    item_datetime=soup.find('meta',{'itemprop':'dateCreated'})
    item_datetime=dateparser.parse(item_datetime,date_formats=['%d %B %Y %H'])
    print(item_datetime)

Такой формат для моей БД.Не подходит.Я решил использовать библиотеку dateparser Но суть проблемы в том что Dateparser не понимает эту дату 2019-08-22T00:01:00Z Я это понял судя по тексту ошибки:

File "C:/Users/Администратор/PycharmProjects/Task/parsers/bnewskz/bnewskz_parser.py", line 13, in get_data item_datetime=dateparser.parse(item_datetime,date_formats=['%d %B %Y %H'])

raise TypeError('Input type must be str or unicode') TypeError: Input type must be str or unicode

Process finished with exit code 1


Как конвертировать дату ?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 2
alternativshik
@alternativshik
from dateutil import parser
item_datetime = parser.parse('2019-08-22T00:01:00Z')


ну или родным strptime()
Ответ написан
Guest007
@Guest007
Django, Python, Linux и всё такое...
soup.find вернул дату уже, скорее всего, в формате даты. Просто выведи её в нужном виде. А ты пытаешься распарсить её как строку. Именно об этом (что item_datetime это не строка) тебе в ошибке и написано.
проверить просто - вставь print(type(item_datetime)) после soup.find
Ответ написан
Ваш ответ на вопрос

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

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