Scrapy+splash при парсинге русского текста выдает юникод
При парсинге русского текста scrapy возвращает юникод.
вот результат сохранения в json:
[ {"name": "3-\\u043a\\u043e\\u043c\\u043d. \\u043a\\u0432\\u0430\\u0440\\u0442\\u0438\\u0440\\u0430, 150 \\u043c\\u00b2"} ]
Также результат сохранения в csv:
,name 0,"3-\u043a\u043e\u043c\u043d. \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430, 150 \u043c\u00b2"
(я пытался использовать .decode и .encode, но получается тоже самое)
также в настроках scrapy я написал FEED_EXPORT_ENCODING = 'utf-8' , но это не помогает.
При парсинге английского текста все хорошо,такое происходит только с русским.
вот сам код
class LinkSpider(scrapy.Spider):
url = 'link'
name = 'link'
allowed_domains = ['link']
start_urls = ['link']
script = '''
function main(splash, args)
splash.private_mode_enabled = false
assert(splash:go(args.url))
assert(splash:wait(3))
splash:set_viewport_full()
return {splash:png(), splash:html()}
end
'''
def start_requests(self):
yield SplashRequest(url=url, callback=self.parse,
endpoint='execute', args={'lua_source': self.script})
def parse(self, response):
name = response.xpath('//h1/text()').get()
df = pd.DataFrame({'name': [name]})
df.to_csv("result.csv")
yield {
"name":name,
}
Ответы (1 шт):
print(u"3-\u043a\u043e\u043c\u043d. \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430, 150 \u043c\u00b2")
Кодировка iso-8859 или это поможет Как перекодировать текст сайта в кодировке чтобы он был читаемым?