Spider 關於資料轉碼問題

2021-08-25 17:14:07 字數 1513 閱讀 7861

在爬蟲的過程中,編碼問題常常會遇到,資料在你面前總是隔了層紗,要麼丟擲個ascii錯誤,要麼就是儲存下來和列印出來的不一樣

拉勾小案例

# 將返回內容轉化為python中的資料物件(unicode編碼)

py_obj = json.loads(html)

# 獲取所有城市名(unicode編碼)

到這裡我們已經獲取到了所有的城市名,並且也知道了城市名是採用的unicode編碼,如果用print列印出來的話就是我們很熟悉的漢字了。在這裡根據需要儲存到檔案中

array = json.dumps(all_city)

with open('city_info.json',"w") as f:

f.write(array)

如果這樣儲存,那麼資料是肯定有些問題的,會顯示

所以要進行一下編碼處理再持久化儲存

# json.dumps在處理資料的時候會預設以ascii的方式處理

array = json.dumps(all_city, ensure_ascii=false)

# 儲存時需要encode一下

關於URL轉碼問題

最近遇到這麼乙個問題,乙個是查詢亂碼 16進製制字串 另外乙個是url傳參需要對引數轉碼,因為傳的引數是一串中文字元,所以需要處理。前台轉碼倒是方便,一種情景是直接在請求傳送觸發的事件裡面直接轉碼,然後跳到後台裡面,然後在action裡面再轉碼一次。在這個過程中遇到乙個問題如 所示,前台 docum...

關於iOS中網路請求漢字轉碼問題

在網路請求中,漢字形式的string是必不可少的,相信各位肯定越到過漢字編碼解碼的問題,下面是對漢字進行上傳編碼,拉取解碼的方法 需要轉化成 utf 8 用到的方法是 nsstring encodingstring urlstring stringbyaddingpercentescapesusin...

Java轉碼問題 ASCII BCD

public static void main string args throws ioexception private static byte asc to bcd byte asc private static byte ascii to bcd byte ascii,int asc len...