爬取数据后,保存数据编码错误
生活随笔
收集整理的這篇文章主要介紹了
爬取数据后,保存数据编码错误
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
爬取時沒問題,保存時有問題。
源碼如下:
報錯信息:
UnicodeEncodeError:'gbk' codec can't encode character '\u2022' in position 19: illegal multibyte sequence修改方法:
將rooms_message中的每一個字符串都使用
原因:
python3中字符串編碼方式:
因為不管html編碼是啥格式,只要你爬下來后,python3已經默認它是Unicode。
所以先使用encode(“gbk”, ‘ignore’)將Unicode的編碼轉換“gbk”格式編碼,而且忽略不能轉換的字符(我覺的這是一個解碼過程);
但你如果就這樣保存數據,數據是一堆\xa0\xce\xa8…,根本不知道啥玩意兒;于是再用decode(“gbk”, “ignore”)編碼一次,同樣忽略不能編碼的字符。(這是一個編碼過程)
注意:
被encode的字符串不能在encode(被解過一次碼的字符串不能在解碼)
被decode的字符串不能在decode(被編過一次碼的字符串不能在編碼)
總結
以上是生活随笔為你收集整理的爬取数据后,保存数据编码错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国家一号风景大道一览记
- 下一篇: 软件测试 质量监控计划书,软件测试的计划