@zeng124

Как мне преобразовать строку вида \\uXXXX в строку, на пайтоне?

У меня есть такой запрос
import json
import requests
from time import sleep
headers = {
    'sec-ch-ua': '"Chromium";v="94", "Yandex";v="21", ";Not A Brand";v="99"',
    'x-o3-app-name': 'dweb_client',
    'sec-ch-ua-mobile': '?0',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 YaBrowser/21.11.3.954 (beta) Yowser/2.5 Safari/537.36',
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Referer': 'https://www.ozon.ru/product/smartfon-inoi-7-2020-2-16gb-siniy-179726290/?sh=KYiDLwAAAA',
    'x-o3-app-version': 'release_5-2\'-\'2022_8a390824',
    'sec-ch-ua-platform': '"Linux"',
}
params = (
    ('url', '/product/smartfon-inoi-7-2020-2-16gb-siniy-231290310/?layout_container=pdpPage2column&layout_page_index=2&sh=KYiDLwAAAA'),
)
default_headers = make_headers(proxy_basic_auth='user:pass')
http = ProxyManager("http://ip/", proxy_headers=default_headers)
response = requests.get('https://www.ozon.ru/api/composer-api.bx/page/json/v2', headers=headers, params=params)
for i in range(1, 35):
        try:
            a = response.text.split('richAnnotationJson')[1].split('text')[i].split('content')[1].split('}')[0].replace('\\":[\\','').replace(']', '').replace('\1', "")
            b = a.encode('latin1').decode('unicode_escape').encode('latin1').decode('utf8')
            print(b)
        except:
            print(1)
            sleep(5)

b = a.encode('latin1').decode('unicode_escape').encode('latin1').decode('utf8') в этой строчке на 4 цикле мне декодируется строка вида \uXXXX а как дальше преобразовать ее в текст я не знаю
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@rPman
Не понимаю, ты грузишь json файл по api а затем, вместо того чтобы разобрать его с помощью модуля json ты его предварительно вручную парсишь?

\uXXXX это валидный токен строки json, так utf8 символы записываются (кстати уже давно это не обязательно, utf8 в стандарте но разработчики, в данном случае ozon, по непонятной логике продолжают пользоваться этим древним стандартом)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы