import json
class TencentPipeline(object):
def __init__(self):
self.filename = open("tencent.json", 'w')
def process_item(self, item, spider):
text = json.dumps(dict(item),ensure_ascii = False) + "\n"
self.filename.write(str(text.encode("utf-8")))
return item
def close_spider(self, spider):
self.filename.close()
write 写入必须是str类型的,改为str了,但是读取的数据却全是编码。
在读取过程中 命令台显示的却是中文,而到文件里面却全是编码。
我不是转换了编码了吗?
没成功还是什么问题,求大佬指教。
text.encode("utf-8")
是把txt编码为uft-8得到的结果是bytes数组text.encode("gkb").decode('utf-8')
是把txt编码为gbk,再解码成utf-8得到str,也就是把txt从gbk编码转到utf-8编码,用decode而不是str