小編給大家分享一下解決python3里print的中文亂碼問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
10年積累的網(wǎng)站制作、成都網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有和平免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
Python是個好工具,但是也有其固有的一些缺點。最近在學習網(wǎng)頁爬蟲時就遇到了這樣一種問題,中文網(wǎng)站爬取下來的內(nèi)容往往中文顯示亂碼。
首先,我說一下Python中文亂碼的原因,Python中文亂碼是由于Python在解析網(wǎng)頁時默認用Unicode去解析,而大多數(shù)網(wǎng)站是utf-8格式的,并且解析出來之后,python竟然再以Unicode字符格式輸出,會與系統(tǒng)編碼格式不同,導致中文輸出亂碼,知道原因后我們就好解決了。下面上代碼,實驗對象仍是被人上了無數(shù)遍的百度主頁~
# -*- coding: utf-8 -*- import urllib2 import re import requests import sys import urllib #設置編碼 reload(sys) sys.setdefaultencoding('utf-8') #獲得系統(tǒng)編碼格式 type = sys.getfilesystemencoding() r = urllib.urlopen("http://www.baidu.com") #將網(wǎng)頁以utf-8格式解析然后轉(zhuǎn)換為系統(tǒng)默認格式 a = r.read().decode('utf-8').encode(type) print a
python學習網(wǎng),免費的python學習網(wǎng)站,歡迎在線學習!
最后輸出效果,中文完美輸出
以上是解決python3里print的中文亂碼問題的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!