Мне нужно собрать текстовые данные с сайтов, используя языки, отличные от английского (в основном восточноевропейские языки), используя Scrapy.Когда Scrapy завершает работу, ему необходимо преобразовать очищенные данные в JSON для дальнейшего использования.
Дело в том, что если я просто соскребу текст следующим образом:
i['title'] = response.xpath('//home/title//text()').extract_first()
без его кодирования, Scrapy бросаетчто-то вроде этого:
UnicodeEncodeError: 'charmap' codec can't encode character '\u0107' in position 103: character maps to <undefined>
С другой стороны, если я его кодирую и пытаюсь обработать это с помощью json.dumps (), я получаю TypeError, поскольку json не может сериализовать байты.Я видел это объяснение ( Как кодировать байты в JSON? Json.dumps (), бросая TypeError ), но это бесполезно, так как мне нужно использовать utf-8 или utf-16, ине ascii.
Есть идеи, как решить эту проблему?