Запись в JSON - преобразование \ u00a3 в £ - PullRequest
0 голосов
/ 21 октября 2018

Я использую Selenium и Python для очистки сайта.Я убираю некоторые символы «£», но вместо этого получаю: \u00a3 при записи в JSON (они отображаются как «£», когда я печатаю их в терминал).

Я понимаю, что это Unicode, и они мне нужны в UTF8 (?).Я попробовал несколько вещей, которые нашел на SO, и не добился большого успеха.

Я пробовал .replace (.replace ('\ u00a3', '£') - Однако яне имеет большого успеха.

Как сделать так, чтобы символы выглядели как '£' вместо \u00a3?

Эта строка печатается неправильно. Дайте мне знать, если хотитесм весь мой код.

price = page.find_element_by_class_name('header_tags').text

Ответы [ 3 ]

0 голосов
/ 21 октября 2018

Вам нужно вызвать text("utf-8") во время печати следующим образом:

print(page.find_element_by_class_name('header_tags').text("utf-8"))

Но эта проблема может возникнуть и в некоторых строках.Таким образом, согласно рекомендациям, запустите файл Python со строкой:

# -*- coding: UTF-8 -*-

Пример:

from selenium import webdriver
# other lines of code
price = page.find_element_by_class_name('header_tags').text
0 голосов
/ 21 октября 2018

Если вы используете json.dump() или json.dumps(), попробуйте установить ensure_ascii=False

0 голосов
/ 21 октября 2018

Вы можете закодировать строку как показано ниже

s = 'This is a Pound sign \u00a3'
s.encode('utf8')
print(s)

Выход

This is a Pound sign £

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...