Как сохранить специальные символы, такие как $, £, при извлечении текста с веб-сайта? - PullRequest
0 голосов
/ 06 августа 2020

Я использую scrapy, чтобы очистить пример веб-сайта. Это веб-страница - цитаты . Для извлечения данных я использую селекторы xpath. Специально для получения цены конкретной книги я использую следующий xpath - //*[@id="default"]/div[1]/div/div/div/section/div[2]/ol/li[1]/article/div[2]/p[1]/text()

Теперь, когда я извлекаю цену, символ £ опускается, поскольку я использую .get(). Я предполагаю, что .get() возвращает Unicode и, таким образом, возвращает символ \u00a3. Я прочитал ответы на этот аналогичный вопрос , но не смог понять, поскольку в примере используется extract, а не get. Я также попытался использовать .encode(), как упоминалось в комментариях, но вернул пустой JSON. Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 06 августа 2020

Поместите это ниже start_urls в вашем пауке

custom_settings = { 'FEED_EXPORT_ENCODING' : 'utf-8' } 

JSON не кодируется в utf-8 автоматически, вы должны установить это.

...