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