2

Я новичок в python, и я пытаюсь получить содержание китайского сайта, я мог бы получить ответ r, но, к сожалению, он имеет проблему кодирования/декодирования. т.е. китайские символы отображаются неправильно.отображение неанглийских символов в ответе python

import requests 
r =requests.get('http://www.example.com') 
print (r.encoding) 
print (r.content) 

Код выше будет печатать кодировку как «ISO-8859-1»

Содержание ответа содержит информацию как

<?xml version="1.0" encoding="gb2312"?> 

Я также видел, что-то вроде этого

<head>\n<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> 

Китайские иероглифы отображаются как что-то вроде \xbe\xc9\xbd\xf0\xc9\xbd, whic h должно быть три китайских иероглифа. Может ли кто-нибудь сообщить, что я должен сделать, чтобы правильно отобразить символы?

Я пытаюсь сделать это в Python 3.4.2.

ответ

1

К сожалению, я не знаю, ваш точный тип кодировки, но в целом это достаточно использовать:

r.content.decode('gh2312') 

или

r.content.decode('ISO-8859-1') 

, насколько я знаю. Пожалуйста, попробуйте.

+0

FYI, я попробовал это на своем python 3.4.2. – gh640

Смежные вопросы