Pythonのフォーマットエラー・ソリューションとケース
コンテンツフォーマットの問題はエラーにつながるので、内容を解析して抽出する際爬虫類をプレイ最近では、多くの場合、全体を見て、将来のエラーを防ぐために、以下では、過去数日の要約です:
など1.特殊記号や顔文字、
背景:Webページを解析するときBeautifulSoupエラーで、調理のウェブサイトを教えクロール:
UnicodeEncodeErrorを:「UCS-2」コーデックは位置0で文字「\ U0001f44d」をエンコードすることができません:非BMP文字Tkでサポートされていません
ソリューション:
インポートSYS non_bmp_map = dict.fromkeys(範囲(0x10000番地、sys.maxunicode + 1)、0xfffd ) targetText = targetText.translate(non_bmp_map)
targetTextテキストはあなたが変換する必要があるところです。
中国の文字化けで書か2. CSV
背景:次のようにCSV Module1のCSV動作制御の古典的な方法は、一般に、符号化フォーマット「UTF-8」を使用してファイル操作をCSVれます。
インポートCSV targetText = [ ' ABC '、' EFG ' ] csv_target =オープン(' mycsv.csv '、' + '、newlien = '' 、エンコード= ' UTF-8 ' ) ライター = csv.writer(csv_target) ライター。 writerow(targetText) csv_target.close()
中国の書き込みそれ文字化けする(すなわちtargetText中国語targetText = [「ジョン・ドウ」、「ジョン・ドウ」]として、含みます)。
解決策:修正符号化モード'UTF-8-SIG'です
インポートCSV targetText = [ ' 張三'、' 李四' ] csv_target =オープン(' mycsv.csv '、' + '、newlien = '' 、エンコード= ' UTF-8 ' ) ライター = csv.writer(csv_target) writer.writerow(targetText) csv_target.close()
Pythonのエンコード形式は、ピットです。
これは最初の更新された状態で、その後、後続の更新に遭遇し続けます。