寫爬蟲總是出現亂碼,習慣不好所以謝謝筆記
阿新 • • 發佈:2018-12-15
寫爬蟲有時候需要靜態頁面 就不得不把頁面下載下來,但是 寫入的時候總是出現一些奇怪的亂碼 或者不能寫入比如: ’gbk’ codec can’t encode character ‘\xa0’ in position 4877: illegal multibyte sequence
這種錯誤,gbk codec can’t encode character :說明是將Unicode字元編碼為GBK時候出現了問題,可能是本身Unicode型別的字元中,包含了一些無法轉換為GBK編碼的一些字元;
requests.post()獲取的response是Unicode字元 通常我寫入檔案時沒有寫明編碼集如:
with open('h.html','w',) as f:
f.write(h)
那麼問題就大了 windos預設建立檔案是’GBK‘的 可是 “GBK”中沒有這個’\xa0’,所以就會報錯,最好的方法是 ‘response’的編碼集設定一下
response.encoding="utf-8"
寫入檔案的時候,設定檔案的編碼集。
with open('h.html','w', encoding="utf-8") as f:
f.write(h)
這樣基本不會出現亂碼的寫入錯誤了