python的print()函数默认好像打印GBK编码的格式,所以需要打印的字符串需要改变编码格式。
查找到一个有用的办法,看原文:
-----------------------------------------------------------------------------------------------
问题是这样的,网页的数据应该是'utf-8'编码,这个可以在网页的head上面看得到,然后你爬网页的时候会把它转化成Unicode,出问题的是在print()这儿,对于print()这个函数,他需要把内容转化为'gbk'编码才能显示出来. 然后解决办法是这样,你在转化后的Unicode编码的string后面,加上 .encode('GBK','ignore').decode('GBk') 也就是先用gbk编码,忽略掉非法字符,然后再译码,是不是很有道理 应该是这样的,因为我和你遇到同样的问题,现在解决了
------------------------------------------------------------------------------------------------
也就是说在String的后面,加上
.encode('GBK','ignore').decode('GBk')
就可以正常打印了。