最近要将爬取的数据通过json.dump处理后保存成json文件,程序一切运行正常,但是打
开保存之后的json文件发现除了字母,原来的字典数据里面的中文全部变成了unicode
码,像下面这个样子
噢,这真是一个令人悲伤的故事。。。。
然后在网上找了几个方法,经尝试之后,发现都不行,哈哈哈
后来发现了这个老哥的博客,讲的非常详细!!!!
try:
with open(jsonfile,'w',encoding = 'utf-8') as jfile:
#即添加参数 ensure_ascii=False,它默认的是Ture
json.dump(list_all_pages,jfile,ensure_ascii=False,indent = 4)
总结一下:
1、python3里面默认编码是unicode
2、做dump与dumps操作时,会默认将中文转换为unicode,但在做逆向操作load和loads时会转换为中文,但是中间态(例如存储的json文件)的中文编码方式仍然是unicode
解决办法:
在dump里面添加ensure_ascii=False
参考:
https://blog.youkuaiyun.com/firefox1/article/details/78331369
https://blog.youkuaiyun.com/u014519194/article/details/53927149