解決UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position


最近用Python寫了些爬蟲,在爬取一個gb2312的頁面時,拋出異常:

  1. UnicodeEncodeError: 'ascii' codec can't encode characters in position 21-23: ordinal not in range(128)

解決方案如下:

首先設置系統的默認編碼為utf-8:

  1. import sys
  2.  
  3. reload(sys)
  4. sys.setdefaultencoding('utf-8')

然后將網頁以gbk解碼后轉為utf-8:

  1.         result = urllib2.urlopen(req).read()
  2.         result = unicode(result,'GBK').encode('UTF-8')

之后就正常了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM