Web スクレイピング中に、文字 u'ufeff' に関連するエラーが発生する場合があります。この文字はバイト オーダー マーク (BOM) として知られており、ファイルのエンコーディングを示すためにテキスト ファイルの先頭に追加されることがよくあります。
Python 3 でファイルを開くと、「ascii」コーデックが使用されます。エンコードが指定されていない場合は、デフォルトで使用されます。ただし、BOM 文字は ASCII 文字セットの一部ではないため、「UnicodeEncodeError」例外が発生します。
この問題を解決するには、ファイルを開くときにエンコードを明示的に指定することをお勧めします。 「encoding」キーワードを使用すると、エンコードの一部として BOM を含む「utf-8-sig」など、ファイルの正しいエンコードを指定できます。以下に例を示します。
f = open('file', mode='r', encoding='utf-8-sig') read_content = f.read()
正しいエンコードを指定すると、読み取り結果から BOM 文字が省略され、意図したとおりにテキストを操作できるようになります。この手法は、Web スクレイピングやエンコーディングが明示的に指定されていないその他のソースから取得したテキスト ファイルを処理する場合に特に役立ちます。
以上がPython 文字列のバイト オーダー マーク (BOM) 文字 (u'\ufeff') を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。