Python scrapy csvpipeline根据蜘蛛名称或id导出csv

Python scrapy csvpipeline根据蜘蛛名称或id导出csv,python,scrapy,scrapy-pipeline,Python,Scrapy,Scrapy Pipeline,我有两个不同的蜘蛛在跑。我想写两个不同的csv文件,以蜘蛛的名字命名。 spider1.csv来自spider1的数据和spider2.csv来自spider2的数据 这是我的CsvPipeline课程: class CsvPipeline(object): def __init__(self): self.file = open("ss.csv", 'wb') self.exporter = CsvItemExporter(self.file, unicode) sel

我有两个不同的蜘蛛在跑。我想写两个不同的csv文件,以蜘蛛的名字命名。 spider1.csv来自spider1的数据和spider2.csv来自spider2的数据

这是我的CsvPipeline课程:

class CsvPipeline(object):
def __init__(self):
    self.file = open("ss.csv", 'wb')
    self.exporter = CsvItemExporter(self.file, unicode)
    self.exporter.start_exporting()

def close_spider(self, spider):
    self.exporter.finish_exporting()
    self.file.close()

def process_item(self, item, spider):
    self.exporter.export_item(item)
    del item['crawlid']
    del item['appid']
    return item

我将实施以下方法:
open\u spider(self,spider):

当spider打开时调用此方法

参数
爬行器(爬行器对象)
–打开的爬行器

class CsvPipeline(object):
def __init__(self):
    self.files = {}

def open_spider(self, spider):
    self.file = open("%s.csv" % (spider.name), 'wb')
    self.exporter = CsvItemExporter(self.file, unicode)
    self.exporter.start_exporting()

def close_spider(self, spider):
    self.exporter.finish_exporting()
    self.file.close()

def process_item(self, item, spider):
    self.exporter.export_item(item)
    del item['crawlid']
    del item['appid']
    return item

更多信息:

我将实施以下方法:
open\u spider(self,spider):

当spider打开时调用此方法

参数
爬行器(爬行器对象)
–打开的爬行器

class CsvPipeline(object):
def __init__(self):
    self.files = {}

def open_spider(self, spider):
    self.file = open("%s.csv" % (spider.name), 'wb')
    self.exporter = CsvItemExporter(self.file, unicode)
    self.exporter.start_exporting()

def close_spider(self, spider):
    self.exporter.finish_exporting()
    self.file.close()

def process_item(self, item, spider):
    self.exporter.export_item(item)
    del item['crawlid']
    del item['appid']
    return item

更多信息:

已有内置的提要导出器。看

简而言之,您只需将这些添加到设置中即可。py:

FEED_URI = 'somename.csv'
FEED_FORMAT = 'csv'
您还可以为每个蜘蛛设置以下设置:

class MySpider(Spider):
    name = 'myspider'
    custom_settings = {'FEED_URI': 'myspider.csv'}

有一个内置的饲料出口商。看

简而言之,您只需将这些添加到设置中即可。py:

FEED_URI = 'somename.csv'
FEED_FORMAT = 'csv'
您还可以为每个蜘蛛设置以下设置:

class MySpider(Spider):
    name = 'myspider'
    custom_settings = {'FEED_URI': 'myspider.csv'}
您可以在设置中使用,该设置由蜘蛛属性替换:

FEED_URI = '%(name)s.csv'
您可以在设置中使用,该设置由蜘蛛属性替换:

FEED_URI = '%(name)s.csv'