#python #python-requests #request #response
Вопрос:
когда вы пытаетесь отобразить запрос get в тексте, он выдает непонятные символы, я бы хотел, чтобы он создавал обычный текст
Код:
headers = {
"authority": "www.ozon.ru",
"method": "GET",
"path": "/product/playstation-5-digital-edition-339866183/?asb=ZdbNZjh%2BgUCDpV0uw5ZLJUkaSn2wNH%2FSaAKJ%2BAxhX2M%3Damp;asb2=ayxVVx0ddcEtoLM3AwfnfVSDeZSpnVMgJu1dkk3rkjoamp;keywords=playstation 5amp;sh=0OBU25Oz",
"scheme": "https",
"accept": "text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"accept-encoding": "gzip, deflate, br",
"accept-language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
"cache-control": "max-age=0",
"cookie": "__Secure-ext_xcid=704b112d0788105d7206457724d88846; _gcl_au=1.1.954892941.1622892064; visid_incap_2251426=KU5k7V3nRbi5hIuCe4vdFn1su2AAAAAAQUIPAAAAAADSheykofd2VQeH1V6sdne6; visid_incap_1101384=ng7gdJKQTtaTXDhwXw0BERteu2AAAAAAQkIPAAAAAACAxLmcAby/fnf6k3vP36Lor9I9dWxx3mbg; __Secure-ab-group=30; _abck=AD1EC4FEF31E5162861A4C24D2CA7963~-1~YAAQVxndWMOJ1Bl6AQAAzuyMdwYmY8viAq7FQPAI0crJs Y7Tol5pA9DDuINFgy8m dW33GrxDi2sthCys8Q8xdFoZ5b/ cj885D7t6jQxlVTWRyFksPOyCfG aPZcNjWLG4gtLYGhig4GmVY2IhbziLiACrJVZ9tvvQe bPDscWtCGH5oFB2KDTmr /5anJzP52dInIJRinf0G36Uv6LmTBvJ5oqmtHns wdvWHV2/XtFBwUrKukPL/yB4I534FenLEKBs/go7uQS0q8XCAoeXQuHxE XXEHteC3ViGCfdsi83AQgjjXemaeBg6rIcc6GOo4HS NPR/o20jeZaNPOw21BZoSvhmSzk3WWAoOxqjayhWTKVE/Uu0k/2n3yS2XuFjUsw9nmMtOslXKyWPHYWcAvAFzw==~-1~-1~-1; _gcl_dc=GCL.1631556671.CjwKCAjwyvaJBhBpEiwA8d38vJ0cwc6gyFvDIalkCBIdbC18GmVXVD0XxIgwZoz--ClC6ErOz2uVmRoCw6oQAvD_BwE; visid_incap_1285159=FmeU/lKJQvaWmkgD2CjChIi8QGEAAAAAQUIPAAAAAADss4s71kpz7hK78LrQuFFa; __Secure-user-id=0; _gcl_aw=GCL.1633529190.CjwKCAjwkvWKBhB4EiwA-GHjFrQIvq2PTJYu-I5iwQo9hU06pvsUVvjj37nTH7ACBQDGNCG1NvNHlBoCIvEQAvD_BwE; nlbi_1101384=wNPJODVEXFvoYA/LK8plmQAAAACQSMQv10AIEBv9M1qG ZgE; incap_ses_584_1101384=8gq4QeKdPVbcmBCIpMkaCMfCZWEAAAAAxQKn2KtmDQeSxEYbjPxM4Q==; xcid=b0d40e42f20927f1b6ef2f74056069fb; incap_ses_633_1101384=NoBfaWnlixsskJIVP97ICA2dZmEAAAAARs7zxjAA1ruartIDr0d2SA==; __Secure-access-token=3.0.BrCcd3kzR2aUcKDrHyfVvw.30.l8cMBQAAAABhQLuyDO5qoKN3ZWKgAICQoA..20211013104710.f77kLnpPyPCZUz33bipJ1qSFh7n4QIBACd22xU-M_sE; __Secure-refresh-token=3.0.BrCcd3kzR2aUcKDrHyfVvw.30.l8cMBQAAAABhQLuyDO5qoKN3ZWKgAICQoA..20211013104710.CAQWWNrTHcPBdzYVN9iOE7QB4LwfW4rmHjDJEszki5A; incap_ses_585_1101384=y3r7Vz0DllfLWjWKF1ceCA2dZmEAAAAAne5pnSZ7U0xGgsv7j fBMA==",
"referer": "https://www.ozon.ru/cart",
"sec-ch-ua": '"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "Windows",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36",
}
r = requests.get('https://www.ozon.ru/product/playstation-5-digital-edition-339866183/?asb=ZdbNZjh%2BgUCDpV0uw5ZLJUkaSn2wNH%2FSaAKJ%2BAxhX2M%3Damp;asb2=ayxVVx0ddcEtoLM3AwfnfVSDeZSpnVMgJu1dkk3rkjoamp;keywords=playstation 5amp;sh=0OBU25Oz', headers=headers).text
print(r)
как сделать обычный вывод текста?
Ответ №1:
Похоже, вы получаете сжатый вывод. (Вы можете убедиться в этом, распечатав r.headers
и посмотрев Content-Encoding
.)
Удалите
"accept-encoding": "gzip, deflate, br",
заголовок запроса, потому что в нем утверждается, что вы можете принимать br
содержимое, сжатое otli, которое запросы по умолчанию не обрабатывают.
Ответ №2:
Поскольку вы указали accept-encoding
, сервер выполнил сжатие перед отправкой данных вам. ~~Это сжатие Zip (начинается с PK
)~~
Просто не указывайте accept-encoding
вообще, и сервер, скорее всего, отправит вам несжатый поток данных.
Комментарии:
1. Снимок экрана не начинается с
PK
. Потоки Gzip не начинаются сPK
, и Zip-это не Gzip.2. (Кроме того,
requests
будетgzip
прозрачно обрабатывать декомпрессию.)3. Да, моя ошибка. Запутался во многих вещах… Мне нужна чашка кофе…
4. О
requests
, обрабатывать gzip автоматически? Приятно это знать. TIL