码迷,mamicode.com
首页 > 编程语言 > 详细

python爬虫之中文编码问题

时间:2017-07-11 01:08:06      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:环境   http   odi   想法   编译   gid   bsp   print   alt   

python编码是个博大精深的知识,而我还是出血python,所以我目前所要求自己的仅仅是在自己的爬取网页获取中文信息时不会出错,仅此而已,对于其他更深层次的内容随着知识的积累想必有更深刻的理解。以下并不是我的原创理解,而是在网上查阅很多博主有想法更直观的表达后自己才能对这些编码有更直认识,感谢他们

首先附上中文编码比较,更直观的显示出不同编码对文字输出的影响

编译环境是wingide win8.1

输入#-*- coding:utf-8 -*-
s=‘ab我是中文字符串‘
ss=u‘ab我是中文字符串‘
u=s.decode(‘utf-8‘)
print s
print repr(s)
print ss
print repr(ss)
print u
print repr(u)

输出

ab鎴戞槸涓枃瀛楃涓?‘ab\xe6\x88\x91\xe6\x98\xaf\xe4\xb8\xad\xe6\x96\x87\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2‘
ab我是中文字符串
u‘ab\u6211\u662f\u4e2d\u6587\u5b57\u7b26\u4e32‘
ab我是中文字符串
u‘ab\u6211\u662f\u4e2d\u6587\u5b57\u7b26\u4e32‘

由上可以知道当输入时utf-8格式编码的时候,输出文字为乱码,而输入时unicode时输出不会乱码

而且decode是解码,而decode(utf-8(源网页的编码格式))的目的就是将原网页的编码格式转化成unicode然后输入,使中文不会乱码

而encode是解码,跟上面的作用相反

另外介绍一个chardet命令,使用这个命令可以让你知道源网页的编码是什么,然后再进行解码就好了,问题完美解决。

技术分享

 

python爬虫之中文编码问题

标签:环境   http   odi   想法   编译   gid   bsp   print   alt   

原文地址:http://www.cnblogs.com/bebox/p/7148170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!