Удаление метки времени при преобразовании формата даты с помощью dateparser в scrapy - PullRequest
0 голосов
/ 16 апреля 2019

Я использую dateparser в scrapy для преобразования формата даты.

Исходный формат даты: Apr 16, 2019

После использования dateparser: 2019-04-16 00:00:00

Это то, чего я хотел достичь.Тем не менее, я все еще хотел бы удалить время из формата даты, поэтому в итоге у меня есть только 2019-04-16.К сожалению, я не могу этого понять.

Это моя строка кода:

import dateparser

...

def parse_site(self, response):
        def get_with_xpath(query):
             return response.xpath(query).get(default='').strip()
        yield {
            'date': dateparser.parse(get_with_xpath('//meta[@name="date"]/@content'))
        }

Как я уже сказал, это работает.Но отметку времени я бы хотел удалить.Есть идеи?

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Dateparser.parse возвращает datetime, представляющий проанализированную дату, в случае успеха.Вы можете использовать функцию strftime () для удаления метки времени, как показано ниже

dateparser.parse('Apr 16, 2019').strftime("%Y-%m-%d")

1 голос
/ 16 апреля 2019

Методы этой библиотеки возвращают все значения в формате datetime. Но после этого вы можете делать с ними все, что захотите. Проверьте этот пример:

>>> import dateparser
>>> dateparser.parse("Apr 16, 2019")
datetime.datetime(2019, 4, 16, 0, 0)
>>> dateparser.parse("Apr 16, 2019").date()
datetime.date(2019, 4, 16)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...