1

サイトからすべての広告を取得する単純なスパイダーを Scrapy で作成しようとしています。問題は、すべての広告がキリル文字であるため、次のような文字列が表示されることです。

1-\u043a\u043e\u043c\u043d\u0430\u0442\u043d\u0430\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430

スパイダーのコードは次のとおりです。

def parse_advert(self, response):
    x = HtmlXPathSelector(response)

    advert = AdvertItem()

    advert['title'] = x.select("//h1/text()").extract()
    advert['phone'] = "111111111111"
    advert['text'] = "text text text text text text"
    filename = response.url.split("/")[-2]
    open(filename, 'wb').write(str(advert['title']))

その文字列をその場で「翻訳」する方法はありますか?

ありがとう。

4

2 に答える 2

1

使用str.decode('unicode-escape'):

>>> print r'1-\u043a\u043e\u043c\u043d\u0430\u0442\u043d\u0430\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430'
1-\u043a\u043e\u043c\u043d\u0430\u0442\u043d\u0430\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430
>>> print r'1-\u043a\u043e\u043c\u043d\u0430\u0442\u043d\u0430\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430'.decode('unicode-escape')
1-комнатная квартира
于 2013-08-08T05:41:48.137 に答える