4.1 scrapy通过管道保存数据为execl中

  • pipelines.py文件中
from openpyxl import Workbook

class JnuSaveinExcel:

    def open_spider(self,spider):
        # 实例化创建Excel文件
        self.wb = Workbook()
        # 激活一个表单
        self.ws = self.wb.active
        self.ws.title = 'sample_1'
        # 再添加一个表单
        self.ws2 = self.wb.create_sheet('sample_2')

        # 按行添加数据
        self.ws.append(['name', 'level', 'direction', 'email', 'link'])
        self.ws2.append(['name', 'level', 'direction', 'email', 'link'])

    def process_item(self, item, spider):
        # 生成数据列表,每行有具体数据
        data = [item['name'],item['level'], item['direction'], item['email'], item['link']]
        # 按行添加
        self.ws.append(data)
        self.ws2.append(data)
    
    def close_spider(self, spider):
        # 文件保存
        self.wb.save('jnu_teacher.xlsx')
  • setting文件中设置
ITEM_PIPELINES = {
   'jnuteachers.pipelines.JnuSaveinExcel': 301,
}

你可能感兴趣的:(scrapy)