共计 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 楼的办法解决了 谢谢你的指点