scrapy存储到Excel中

首先需要安装下openpyxl,写入Excel是用的这个库

pip install openpyxl

        根据需要存储的item字段写入到Sheet的第一行,假如存储的字段分别是sources,url,title的话,如下代码所示,会在wuliao.xlsx中新建一个ware_detail的Sheet来存放数据,通过isinstance判断item的类型,存储指定的item

from openpyxl import Workbook

'''
author: tieyongjie
'''

class ExcelPipeline(object):
    def __init__(self):
        self.wb = Workbook()
        self.wb.create_sheet("ware_detail")
        self.ws = self.wb["ware_detail"]
        self.ws.append(
            ['sources', 'url', 'title'])

    def process_item(self, item, spider):
        if isinstance(item, FactoryMaterialItem):
            self.ws.append([item['sources'], item['url'], item['title']])

        return item

    def __del__(self):
        # 调用__del__() 销毁对象,释放其空间
        self.wb.save('wuliao.xlsx')

最后需要在settings中打开 ITEM_PIPELINES 中存储Excel的管道就可以愉快的存储数据了,如下图

ITEM_PIPELINES = {
    'HAHA.pipelines.ExcelPipeline': 300,
}

上一篇:利用线程池和回调函数爬虫


下一篇:【1009 | Day 40】仿优酷