2

ロシアのウェブサイトをスクレイピングしようとしています。しかし、ロシア語のキリル文字を 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()

誰かが同様の問題に遭遇しましたか? 私はこれで壁に頭をぶつけています。どんな助けでも感謝します:)

4

1 に答える 1

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().

于 2016-01-20T11:03:10.983 に答える