学习scrapy存储文件时,在爬虫文件将自己的数据写为dict,之后在pipelines.py中转化为json,之后写入文件时发现文件中的汉字为unicode编码,在网上找了找解决办法,说是在settings.py中添加FEED_EXPORT_ENCODING = 'utf-8'
这一行代码,照做之后发现无效。
然后又找了找,发现了很简单的解决办法: 在pipelines.py文件中转为json时,添加ensure_ascii=False
这一参数即可。
ensure_ascii=True
:默认输出ASCLL码,如果把这个该成False,就可以输出中文。
def process_item(self, item, spider):
item = json.dumps(item,ensure_ascii=False)
self.qsbk_file.write(item+'\n')