首页 > 技术文章 > scrapy生成json中文为ASCII码解决

xzlive 2019-07-10 22:04 原文

修改pipelines.py 即可

修改内容如下:

import json
import codecs
import os

class BaiduNewsPipeline(object):
   #增加的 
  def __init__(self):
        self.file = codecs.open('scraped_data_utf8.json', 'w', encoding='utf-8')
        self.file.write('[')
  #下面为默认
    def process_item(self, item, spider):
        return item
 #增加的
    def close_spider(self, spider):
        self.file.seek(-1, os.SEEK_END)
        self.file.truncate();
        self.file.write(']')
        self.file.close()

 再次执行 scrapy 到处为json显示中文正常

 scrapy crawl baidunews -o items.json -t json

 

推荐阅读