盤點3種Python網絡爬蟲過程中的中文亂碼的處理方法
1)方法一:將requests.get().text改為requests.get().content 我們可以看到通過text()方法獲取到的源碼,之后進行打印輸出的話,確實是會存在亂碼的,如下圖所示。
如果覺得上面的方法很難記住,或者你可以嘗試直接指定gbk編碼也可以進行處理,如下圖所示:
此時可以考慮將請求變為.content,得到的內容就是正常的了。
2)方法二:手動指定網頁編碼
# 手動設定響應數據的編碼格式
response.encoding = response.apparent_encoding
這個方法稍微復雜一些,但是比較好理解,對於初學者來說,還是比較好接受的。
如果覺得上面的方法很難記住,或者你可以嘗試直接指定gbk編碼也可以進行處理,如下圖所示:
上面介紹的兩種方法都是針對網頁進行整體編碼,效果顯著,接下來的第三種方法就是針對中文局部亂碼部分使用通用編碼方法進行處理。
3)方法三:使用通用的編碼方法
img_name.encode('iso-8859-1').decode('gbk')
使用通用的編碼方法,對中文出現亂碼的地方進行編碼設定即可。還是當前的這個例子,針對img_name進行編碼設定,指定編碼並進行解碼,如下圖所示。
如此一來,中文亂碼的問題就迎刃而解了。