當前位置:成語大全網 - 新華字典 - 網頁編碼和Python編碼不匹配怎麽辦?

網頁編碼和Python編碼不匹配怎麽辦?

網頁的編碼格式有很多種,比如UTF-8,GBK2312等。在網站頁面F12上,ctrl+f搜索字符集可以顯示該網頁使用的編碼格式,如CSDN字符集= "UTF-8 "。我們在使用python獲取網頁內容時,經常會因為網頁編碼問題導致程序崩潰或者得到壹堆二進制內容,軟件的兼容性很差。有壹種方法是通過第三方庫chardet獲取編碼格式,然後使用這種編碼格式對數據進行解碼,實現兼容。

1.安裝chardet庫

Chardet是第三方庫,使用前需要安裝。簡單的方法是啟動DOS界面,在python安裝路徑下輸入腳本路徑(包括pip腳本),運行“pip install chardet”完成安裝(可能需要先更新pip,根據提示運行命令即可);

2.導入字符集並建立函數。

python項目中的導入字符集庫(“導入chardet”);該功能建立如下:

定義get_url_context(url):

content = URL lib . request . urlop(URL)#獲取網頁內容。

Encode = chardet。detect (content) #獲取網頁編碼格式的字典信息,字典編碼中key encoding的值就是編碼格式。

返回內容。decode (encode ['encoding'],' ignore') #根據獲取的編碼格式進行解碼,忽略無法識別的編碼信息。

上述函數的返回值是網頁的解碼內容,無論網頁是什麽格式的編碼,轉換都很容易識別;需要註意的是,解碼時要加上參數‘ignore’,否則網頁中可能會出現混合編碼,導致程序出錯。