Skip to main content
 首页 » 编程设计

python之scrapy csvpipeline 根据蜘蛛名称或 ID 导出 csv

2025年05月04日23java哥

我有两个不同的蜘蛛在运行。我正在寻找以蜘蛛名称命名的 2 个不同的 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 

请您参考如下方法:

已经有一个内置的提要导出器。参见 scrapy docs

简而言之,您只需要将这些添加到您的 settings.py 中:

FEED_URI = 'somename.csv' 
FEED_FORMAT = 'csv' 

您还可以为每个蜘蛛设置这些设置:

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