将俄语字符串转换为日期时间

时间:2016-01-20 10:41:15

标签: python-2.7 datetime encoding lxml non-latin

我正试图刮一个俄罗斯网站。但是我仍然试图将俄语西里尔语转换为DateTime对象。

我们以这个html片段为例:

<div class="medium-events-list_datetime">22 января весь день</div>

我可以使用lxml获取此div的内容,即:

date = root.xpath('/html/body/div[1]/div/div[2]/text()')[0].strip()

所以这个字符串的相关部分是22января,即日期和月份。

要获得此部分,我使用的是.split()方法

现在问题在于,我正在尝试将其转换为DateTime。 我尝试使用DateParser:https://dateparser.readthedocs.org/en/latest/ ,这应该支持俄语。

然而,当我将此字符串传递给None

时,它会返回dateparser.parse()

有没有人遇到过类似的问题?我正在敲打这个墙上的头。任何帮助表示赞赏:)

1 个答案:

答案 0 :(得分:3)

尝试运行此示例:

#coding=utf-8
import dateparser
s = u"22 января"
print dateparser.parse(s)

应输出2016-01-22 00:00:00

重要提示:确保您实际使用的是 utf-8 字符串。更多信息:https://www.python.org/dev/peps/pep-0263/

否则您的解析/拆分可能有误,请尝试查看split()之后的结果。