解决python2.7中UnicodeEncodeError
来源:互联网 发布:用python产生文件 编辑:程序博客网 时间:2024/06/05 02:49
在开始之前让我先放上代码
from bs4 import BeautifulSoupimport urllib2req = urllib2.urlopen("https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page=1")ht = req.read()soup1 = BeautifulSoup(ht,'lxml')f = open('t.txt','w')for string2 in soup1.strings: f.write(string2)f.closed
看起来挺正常的代码,在我执行后就出现了如下问题
Traceback (most recent call last): File "test.py", line 109, in <module> f.write(string2)UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
这里解决方案参考了http://wangye.org/blog/archives/629/
好吧,先放上解决方案
import sysreload(sys)sys.setdefaultencoding('utf-8')
由于我之前是ascii编码方式,所以python2.7会自然而然的用ascii的解码方式,而在上述的代码中由于我抓取的是起点中文网(就是有很多中文),所以导致当前的字符流不在ascii范围中,然后就抛出了ordinal not in range(128)的错误。
于是我们要通过修改默认编码方式,对就是用setdefaultencoding(’utf-8’)
最后说一下好像python3.X没有这种问题出现。
个人见解,如有错误请帮忙指出,谢谢
阅读全文
0 0
- 解决python2.7中UnicodeEncodeError
- ubuntu python2.7解决 UnicodeEncodeError: 'ascii' 支持utf8
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: 'ascii' codec can't encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- python2.7解决UTF-8 UnicodeEncodeError:'gbk' codec can't encode character u'\xa5' in position
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- python2.7出现[UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11]的解决
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 题目:解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii‘codec can’t encode异常错误
- Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode 错误
- Python2.7的UnicodeEncodeError: 'ascii' codec can't encode xxxx
- 经验总结-完整介绍Android Studio中Git的使用之git的基本准备及提交代码到本地(一)-1
- Angular5 开发之路
- java.lang.IllegalStateException: java.io.FileNotFoundException错误解决方案
- 域名跟ip小结
- 函数重载与运算符重载
- 解决python2.7中UnicodeEncodeError
- UGUI动画控制Animator Controller&NGUI动画插件Tween
- lab1
- 习题5.8
- 静态初始化块、实例初始化块与构造器的加载
- [设计]模版模式
- Verilog实现74LS194芯片
- 对yum的认识
- hiho1620 股票价格3