Scrapy自定义导出器

作者: Abyssknight | 来源:发表于2018-07-21 20:13 被阅读0次

导出器Scrapy框架中称为Feed exports,支持JSONCSVXML格式的输出,当需要将数据存储为以上格式的时候,不需要编写Item Pipeline,只需要使用导出器即可,格式如下:

scrapy crawl spidername -o filename.json

对于默认的导出器,默认导出ASCII编码的数据,无法显示中文,所以需要自定义导出器,这里以JSON为例,以下是在settings中编写的代码.

# 导入Json导出器并重写
from scrapy.exporters import JsonItemExporter

class CustomJsonItemExporter(JsonItemExporter):
    def __init__(self, file, **kwargs):
        # 只需要将 ensure_asciis 设置为False即可,当然也可以对其他参数进行设置
        super(CustomJsonItemExporter, self).__init__(file, ensure_ascii=False, **kwargs)

# Scrapy启用的导出器需要在 FEED_EXPORTERS 中声明
FEED_EXPORTERS = {
    'json': 'JDBook.settings.CustomJsonItemExporter',
}

这样,再次使用-o参数导出数据时,就可以显示中文了。

相关文章

网友评论

    本文标题:Scrapy自定义导出器

    本文链接:https://www.haomeiwen.com/subject/deckmftx.html