0

フェッチしている HTML ファイルには、HTML ヘッダーで指定されたエンコーディングでサポートされていない文字がいくつか含まれています。

以下は Shift_JIS エンコーディングではサポートされていませんが、実際に使用されていることがわかりました。私のブラウザはこれらの文字を正しく表示できます。

  • ∑ n 項和 U+2211
  • ゚ 半角カタカナ半濁音記号 U+FF9F
  • Д キリル大文字 de U+414

この HTML ファイルを読み取って処理のためにデコードしようとすると、UnicodeDecodeError が発生します。

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

エラーを発生させずに、不正にエンコードされた文字を含む HTML を処理する良い方法はありますか?

4

1 に答える 1