Как я могу обрабатывать неправильно закодированный символ с помощью Python 2?

HTML-файл, который я загружаю, содержит некоторые символы, которые не поддерживаются кодировкой, указанной в заголовке HTML:

Я обнаружил, что следующие кодировки не поддерживаются кодировкой Shift_JIS, но фактически используются. Мой браузер может правильно отображать эти символы.

  • ∑ n-арное суммирование U+2211
  • ゚ Полуширинный полуголосый звуковой знак катакана U+FF9F
  • Д кириллическая заглавная буква U+414

Когда я пытаюсь прочитать этот файл HTML и декодировать его для обработки, я получаю UnicodeDecodeError.

url = 'http://matsucon.net/material/dic/kao09.html'
response = urllib2.urlopen(url)
response.read().decode('shift_jis_2004')

Есть ли хороший способ обработать HTML-код с неправильно закодированными символами без получения ошибки?


person Daisuki Honey    schedule 27.11.2014    source источник


Ответы (1)


Попробуй это:

response.read().decode('shift_jis_2004',errors='ignore')
person Irshad Bhat    schedule 27.11.2014