关键字
UnicodeEncodeError,编码异常
异常解析
UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xbb’ in position 26269:
illegal multibyte sequence
- UnicodeEncodeError:说明是Unicode编码时候的问题
- ‘gbk’ codec can’t encode character:说明是将Unicode字符编码为GBK时候出现的问题
在windows下面,系统默认编码是gbk,python解释器会用gbk编码去解析我们的网络数据流,然而数据流此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。 解决的办法就是,对数据流进行编码。
实例
源码:
1 2 3 4 |
import requests page = requests.get('http://www.baidu.com') text = page.text print(text) |
没有编码,报错了:
1 2 3 4 5 6 7 8 |
C:\Users\Administrator>E:\python\learn\lenrnrequests.py Traceback (most recent call last): File "E:\python\learn\lenrnrequests.py", line 4, in <module> print(text) UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 25395: illegal multibyte sequence C:\Users\Administrator> |
修改后
1 2 3 4 |
import requests page = requests.get('http://www.baidu.com') text = page.text print(text.encode("utf-8")) |
正常运行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
ntainer" id="c-tips-container"></div>\').insertAfter("#wrapper");if(window.__sam ple_dynamic_tab){$("#s_tab").remove()}})}if(!d.match(/(msie 6)/i)){$(function(){ setTimeout(function(){$.ajax({url:"http://s1.bdstatic.com/r/www/cache/static/bai duia/baiduia_b45d552b.js",cache:true,dataType:"script"})\n},0)})}if(bds.comm&&bd s.comm.ishome&&Cookie.get("H_PS_PSSID")){bds.comm.indexSid=Cookie.get("H_PS_PSSI D")}})();</script><script>if(bds.comm.supportis){window.__restart_confirm_timeou t=true;window.__confirm_timeout=8000;window.__disable_is_guide=true;window.__dis able_swap_to_empty=true;}initPreload({\'isui\':true,\'index_form\':"#form",\'ind ex_kw\':"#kw",\'result_form\':"#form",\'result_kw\':"#kw"});</script><script>if( navigator.cookieEnabled){document.cookie="NOJS=;expires=Sat, 01 Jan 2000 00:00:0 0 GMT";}</script></body></html> ' C:\Users\Administrator> |
未经允许不得转载:Python在线学习 » Python异常-UnicodeEncodeError