• scrapy爬虫框架(三)


    scrapy爬虫框架(三)

    使用导出器来优化存储方式

    使用JsonItemExporter模块

    pipelines.py

    from scrapy.exporters import JsonItemExporter
    
    
    class QsbkspiderPipeline(object):
        def __init__(self):  # 初始化方法
            # 使用二进制来写入,因此“w”-->"wb"
            self.fp = open("duanzi2.json", "wb")
            self.exporter = JsonItemExporter(self.fp, ensure_ascii=False, encoding='utf-8')
            self.exporter.start_exporting()
    
        def process_item(self, item, spider):
            self.exporter.export_item(item)
            return item
    
        def open_spider(self, spider):
            print("爬虫开始了!")
    
        def close_spider(self, spider):
            self.exporter.finish_exporting()
            self.fp.close()
            print("爬虫结束了!")
    

    mark

    mark

    使用JsonLinesItemExporter模块

    区别就在json文件中,同时这种写法语法更少;

    from scrapy.exporters import JsonLinesItemExporter
    
    
    class QsbkspiderPipeline(object):
        def __init__(self):  # 初始化方法
            # 使用二进制来写入,因此“w”-->"wb"
            self.fp = open("duanzi3.json", "wb")
            self.exporter = JsonLinesItemExporter(self.fp, ensure_ascii=False, encoding='utf-8')
            # self.exporter.start_exporting()
    
        def process_item(self, item, spider):
            self.exporter.export_item(item)
            return item
    
        def open_spider(self, spider):
            print("爬虫开始了!")
    
        def close_spider(self, spider):
            # self.exporter.finish_exporting()
            self.fp.close()
            print("爬虫结束了!")
    

    mark

  • 相关阅读:
    jsp第七次作业
    jsp第二次作业
    第四次JSP作业
    软件测试练习第一次
    JSP第一次课后作业
    读信息
    购物商城
    页面跳转
    安卓第7周作业
    安卓第六周作业
  • 原文地址:https://www.cnblogs.com/senup/p/12319290.html
Copyright © 2020-2023  润新知