请教python大佬指点下小弟关于utf-8编码问题

94次阅读

共计 861 个字符,预计需要花费 3 分钟才能阅读完成。

这几天打算采集一些 discuz 的论坛用户

http://2bcpa.com/home.php?mod=space&uid=1(以此为例,这个站长兄弟,我只是正好看到你的论坛,以此举例,并非针对)

但是采集后的 response.content 数据内的中文,全部都是 x 开头的编码,而符号和英文数据都是正常的

请教下如何采集这个页面获得的中文都是正常的,而不是 x 编码

额,从今天中午研究到现在了,尝试了网上不同办法,依据没解决,还请了解的大佬写个几句指点下。。。

网友回复:

注册 response.encoding=”utf-8″

战神赵日天 这个早就试过了,不行,完全没有反应,我甚至都在想,是不是我本地 python 缺少什么库,或者编码组件

iiss 建议源码发出来

战神赵日天 好滴,我源码马上上传,还请大佬帮忙指点

iiss 你这不用.text 而是用.content 是为啥呢,.content 是未解析的原始内容啊。

战神赵日天 我试试你说的先,多谢指点

directlinkss 大佬你好,刚才已经上传了 rar,后来看到 6 楼大佬解答,我发现测试下,就 ok 了,因为我的确是属于 python 界的文盲,所以的确这种基础问题都没搞懂,已经可以打印出中文了,感谢大佬指点。

战神赵日天 感谢大佬指点,目前已经输出中文了,因为我的确是从未基础性的学习过 python,还请见谅,再次感谢。如果后面在遇到问题,再请教大佬你。

战神赵日天 我告诉你这个产生的原因吧。原始数据 json.dumps 没有加 ensure_ascii 然后 http 到客户端就成这样子 如果 json.dumps(data,ensure_ascii=False) 浏览器数据就不会出现这个。那么怎么解决呢,其实不是 UTF 解码的问题,记得以前我搞过一次,解决方法是先 encode 再重新 decode 一遍(具体忘了,当时也是百度解决的)另外根据产生的原因,我觉得也可以试下用 json 来解决,json.parse 出来应该没问题。

注册 额,你这几个方法,下午我都试过,后来还是按照 6 楼的办法解决了 谢谢你的指点

正文完
 0