次の例外メッセージでエラーが発生しました:
UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in
position 155: ordinal not in range(128)
何が原因かわかりませんがu'\ufeff'
、Web スクレイピング中に表示されます。どうすればこの状況を改善できますか?.replace()
文字列メソッドは機能しません。
ベストアンサー1
私はPython 3でこれに遭遇し、この質問を見つけました(そして解決)。ファイルを開くときに、Python 3 はエンコーディングを自動的に処理する encoding キーワードをサポートしています。
これがないと、読み取り結果に BOM が含まれます。
>>> f = open('file', mode='r')
>>> f.read()
'\ufefftest'
正しいエンコーディングを指定すると、結果では BOM が省略されます。
>>> f = open('file', mode='r', encoding='utf-8-sig')
>>> f.read()
'test'
あくまでも私の意見です。