在scrapy中使用dateparser转换日期格式时去除时间戳

2024-04-25 08:09:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我在scray中使用dateparser来转换日期格式。你知道吗

原始日期格式: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'))
        }

正如我所说,它是有效的。但是我想去掉时间戳。有什么想法吗?你知道吗


Tags: 目标getdateparseresponsedef格式with
2条回答

你知道吗日期分析器.parse如果成功,则返回表示已解析日期的datetime。可以使用strftime()函数删除时间戳,如下所示

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

此库的方法以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)

相关问题 更多 >