I have two different spiders running. I was looking to write 2 different csv files named after spider name. spider1.csv data from spider1 and spider2.csv for data from spider2
Here's my CsvPipeline class:
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
I would implement the following methods:
open_spider(self, spider):
This method is called when the spider is opened.
Parameters: spider (Spider object)
– the spider which was opened
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
for more: scrapy pipeline documentation