Ошибка кодирования китайского иероглифа с BeautifulSoup - PullRequest
0 голосов
/ 14 февраля 2019

Я использую BeautifulSoup для сбора данных с веб-сайта, но китайские символы не отображаются правильно из cmd.

Он печатает \ u7b54 \ u6848 \ u9808 \ вместо китайских символов.

Это мой код: (кодировка сайта - utf-8.)

for item in links:
    print (item)
    page = urllib2.urlopen(item)
    #page.encoding = 'utf8'
    page = page.read().decode('utf-8')
    soup = BeautifulSoup(page , 'lxml')

    divTag = soup.find_all("div", {"class": "t_fsz"})
    for tag in divTag:
        postData = tag.find_all("td")
        print (postData)

Я пробовал разные кодировки / декодирования, но я всегда получаю один и тот же вывод.Как я могу получить правильные китайские иероглифы?Спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

В Python 2 вам потребуется encode строка, которую вы print используете для текущей кодировки вывода.

Мы не знаем, как настроена ваша система, но вы должны найтисотни подобных вопросов - возможно, добавленных в вашу платформу и кодировку, которую вы используете в поиске, чтобы сузить ее.

Если это вообще возможно, я бы предложил вместо этого перейти на Python 3.

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