爬取網站内容時, 有可能會出現非法字元, 進而導緻整個文檔中文亂碼.
全部變成一下格式的内容:
å<9c>¨å<85>¨å<9b>½æ<94>¿æ³<95>æ<9c>ºå<85>³å¼<80>å±<95>社ä¼<9a>主ä¹<89>æ³<95>æ²»ç<90><86>念æ<95><99>è<82>²ï¼<8c>æ<98>¯ä¸å¤®æ<94>¿æ³<95>å§<94>继20__å¹´é<83>¨ç½²å¼<80>å±<95>â<80><9c>è§<84>è<8c><83>æ<89>§æ³<95>è¡<8c>为ï¼<8c>ä¿<83>è¿<9b>æ<89>§æ³<95>å<85>¬æ£â<80><9d>ä¸<93>项æ<95>´æ<94>¹æ´»å<8a>¨ä¹<8b>å<90><8e>ç<9a><84>å<8f><88>ä¸<80>é<87><8d>大å<86>³ç<96>ï¼<8c>å<85>·æ<9c><89>é<87><8d>大è<80><8c>æ
本文針對 剛開始文檔内容中文正常顯示, 後面突然全部中文亂碼, 遇到這種情況該如何解決?
首先, 打開檔案時,
f = open('存儲路徑', 'a', encoding='utf-8')
, 要設定編碼. 爬蟲在爬取内容儲存時,可以這樣寫入
f.write(json.dumps(擷取的内容, ensure_ascii=False) + '\n')
忽略到非法字元, 然後重新讀取文檔内容, 另外儲存到一個檔案中即可
f_path = '亂碼的文檔的路徑'
f_content = '想要儲存的正常文檔的路徑'
f = open(f_content, 'a', encoding='utf-8')
with open(f_path, 'r', encoding='utf-8', errors='ignore') as fr:
for line in fr.readlines():
f.write(line)
f.close()