網頁編碼衝突解決方案 python3

2021-08-21 16:47:02 字數 868 閱讀 1990

網頁編碼格式有很多,比如utf-8,gbk2312等,在**頁面f12鍵,ctrl+f搜尋charset可看到該網頁使用的編碼格式,如csdn為charset=」utf-8」。我們使用python獲取網頁內容時,經常會由於網頁編碼問題導致程式崩潰報錯或獲取到一堆二進位制內容,軟體的相容性很差。有乙個辦法,可以通過第三方庫chardet獲取編碼格式,再使用該編碼格式解碼資料可實現相容。

1、安裝chardet庫

chardet是第三方庫,需要先安裝再使用。簡單的辦法是啟動dos介面,進入python安裝路徑下scripts路徑中(其中有pip指令碼),執行」pip install chardet」,即可完成安裝(可能需要先更新pip,根據提示執行命令即可);

2、匯入charset、建立函式

python工程中匯入charset庫(」import chardet」);建立函式如下:

def

get_url_context

(url):

content = urllib.request.urlopen(url) #獲取網頁內容

encode = chardet.detect(content) #獲取網頁編碼格式字典資訊,字典encode中鍵encoding的值為編碼格式

return content.decode(encode['encoding'], 'ignore') #根據獲取到的編碼格式進行解碼,並忽略不能識別的編碼資訊

以上函式的返回值即為網頁解碼後的內容,無論網頁是哪種格式編碼,都能輕鬆識別轉換;需要注意的是解碼時要加引數』ignore』,否則網頁中可能會有混合編碼導致程式出錯。

注:本人使用的環境為win10+python3

git pull 衝突 解決方案

step1.在本地倉庫中,更新並合併 git fetch origin git rebase origin 3d planningstep2.依據提示分別開啟衝突的檔案,逐一修改衝突 step3.所有衝突都修改完畢後,提交修改的 git add u git rebase continuestep4....

主鍵衝突的解決方案

現象 高併發場景下,入庫時出現主鍵衝突,此主鍵並非自增主鍵,而是由三個字段組成的聯合主鍵。業務邏輯 新來的資料提取的主鍵在資料庫裡沒有,就直接插入,即執行insert 如果資料庫中存在相同主鍵,則用新的資料更新資料庫中已有的資料,即執行update。場景 多伺服器,多執行緒 目標 實現乙個類似ups...

雜湊衝突的解決方案

雜湊表 將輸入的資料存放在其經過雜湊函式後得到的位置上 雜湊函式 就是乙個數學變化,將輸入的值經過某種變化後變成另乙個數 hash 翻譯為 雜湊 就是把任意長度的輸入,通過雜湊演算法,變成固定長度的輸出,該輸出就是雜湊值。hash衝突 無論再怎麼變化,輸入空間和輸出空間都是一定的,只要輸入的空間一大...