python3爬虫得到的数据乱码

oc121213 发布于 2016/05/13 15:16
阅读 959
收藏 0

win7下使用python3.5爬自己的成绩单,代码如下:

结果会产生中文乱码


感谢各位,问题已经解决

首先找到无法解码的字符\x9a

s = u'\x9a' ,s= s.decode('gbk'),

s输出'職',可能是在cmd下并不支持此字显示,引起错误,

切换到pythonwin环境下运行,代码运行正确。

感谢各位支持

加载中
0
幻视Vision
幻视Vision

不要print,cmd不支持一些特殊字符。

以及你电脑上有python2的话,删掉,重装python3

oc121213
oc121213
感谢,换成pythonwin运行可以了
oc121213
oc121213
用的就是3.5
1
viiile
viiile

看代码decode('gbk','ignore')改成utf8试试

oc121213
oc121213
回复 @viiile : 我知道你说的是utf-8
viiile
viiile
回复 @oc121213 : utf-8
viiile
viiile
utf-8
oc121213
oc121213
会报错误 UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 22634 illegal multibyte sequence
1
狗操_我今年大三它妈
oc121213
oc121213
没用,使用encode进行编码解码后依然乱码
1
螃蟹大叔
螃蟹大叔
beautfulsoup 用这个库,注意编码的设置,最后是可以写一个智能判断页面内容编码的函数
oc121213
oc121213
回复 @刘万杰 : 用beautifulsoup,我得把解码后的数据传递过去,这样就绕不开解码问题。如果用beautifulsoup直接开网页,又解决不了登录问题。 而且我是想知道问题出在哪,而还是回避这个问题
螃蟹大叔
螃蟹大叔
库那么多,又不是只有这一个,总比自己干瘪瘪写代码强吧
鸿
鸿图
这个库的效率慢到无法容忍。
1
oc121213
oc121213

代码htmlData = webRequest.read().decode('utf-8','ignore')

切换到pythonwin环境可以正常运行

返回顶部
顶部