使用下面的**有的時候會報錯,說什麼gbk無法解碼...,原因是output的預設編碼跟隨系統,utf-8的字元gbk有可能不認識於是報錯
from urllib.request import request
from urllib.request import urlopen
url = ''
data = none
headers = {}
req = request(url, data, headers)
resp = urlopen(req)
print(resp.read().decode('utf-8'))
import sys
print(sys.getdefaultencoding()) #utf-8
替換掉不能解析的字元
設定stdout的編碼
import io
import sys
import urllib.request
res=urllib.request.urlopen('')
htmlbytes=res.read()
print(htmlbytes.decode('utf-8'))
永久性修改python預設編碼
import sys
print(sys.setdefaultencoding()) #utf-8
print有坑就算了,writelines寫入檔案也報這個gbk無法編碼的問題
解決辦法:
//設定編碼就搞定了
html=open(line,'w',encoding='utf-8')
### 總結
這些編碼問題其實是一些函式在使用時使用了預設的編碼,相應的傳入和改變其使用的編碼就搞定了。
python亂碼問題之爬蟲篇
使用下面的 有的時候會報錯,說什麼gbk無法解碼.原因是output的預設編碼跟隨系統,utf 8的字元gbk有可能不認識於是報錯 from urllib.request import request from urllib.request import urlopen url data none ...
python爬蟲亂碼問題
使用爬蟲爬取網頁文字 所有中文文字全是亂碼,如圖 源網頁編碼和爬取下來後的編碼格式不一致。如源網頁為gbk編碼的位元組流,而我們抓取下後程式直接使用utf 8進行編碼並輸出到儲存檔案中,這必然會引起亂碼 即當源網頁編碼和抓取下來後程式直接使用處理編碼一致時,則不會出現亂碼 此時再進行統一的字元編碼也...
Python爬蟲解決亂碼問題
問題原因 爬取的所有網頁無論何種編碼格式,都轉化為utf 8格式進行儲存,與源 編碼格式不同所以出現亂碼。目前大部分都是utf 8格式,一部分是gbk格式或者 會出現亂碼 還有一些不常見的,比如windows 1254,utf 8 sig等這裡不做討論。國內網頁還沒有看到別的編碼格式,歡迎補充指正!...