我正在尝试在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']))
有没有办法在运行中“翻译”该字符串?
感谢。
答案 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'