Python输出豆瓣个人主页源代码出现编码错误
py3里的str类型都是utf8,你用的是windows,终端是gbk的,print的时候会将utf8解码输出。但是utf8覆盖全unicode集,而gbk只能覆盖部分unicode字符集,而页面里有不能编码为gbk(也就是gbk中不包含)的utf8字符,因此encode失败。\\u30fb如果没记错,应该是个全角的中间位置的小圆点。
■网友
import sysreload(sys)sys.setdefaultencoding(\u0026#39;utf-8\u0026#39;)
■网友
自问自答一下,总算找到解决办法了。原理如 @Coldwings 所述。解决方法是在输出的时候转码为gbk,舍弃不存在的字符。 Python 3 可用:print(message.encode("gbk", errors = "ignore").decode("gbk"))当然也可以选择直接存入文件,然后打开文件查看
■网友
这个问题我遇到过。。在终端下切换字符集可以 chcp 65001
■网友
应该是你的print输出的字符出错了。 换成其他的格式就行了。 一般搞爬虫的都会遇到这个问题。
■网友
你好,非常感谢你自己的回复。我也碰到一样的问题,是twitter的网页,但是print是编码错误,按照你说的print(x.encode("gbk",error="ignore")).decode("gbk"))确实能打印了,但是很无奈的是明明有17万行,它只打印了最后1800多行。按理解岂不是前面17万多都有不能编码成gbk的utf-8码,然后既然这样,我想问一下,如果我只是read的话,不print他,那能read到所有17万行源代码吗?如果看到,请您指教,确实着急,谢谢
推荐阅读
- 怎样成为一名合格的Python程序员?
- python 爬虫,咋获得输入验证码之后的搜索结果
- 豆瓣为啥受到同志社群的欢迎
- python的html5lib这个库咋使用啊我在网上也没有找到相关文档
- 零基础入门学习啥语言好
- 趣头条|2021款大众朗逸实车到店,内饰很大方,轴距2688mm,动力输出稳定
- Python3.4和3.5区别大么
- python 中 def_():...... return _有啥作用
- 新互联网网站用Java还靠谱么对比Php,Python,Ruby的话
- 30岁男,创业失败转行学python,是否很晚?也不好找工作?
