如何在西里尔语中解码类似JSON的字符串?

时间:2013-08-08 05:34:28

标签: python scrapy cyrillic

我正在尝试在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']))

有没有办法在运行中“翻译”该字符串?

感谢。

2 个答案:

答案 0 :(得分: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-комнатная квартира

答案 1 :(得分:0)

只需添加到文件“ setting.py”行:

FEED_EXPORT_ENCODING = 'utf-8'