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