Python 属性错误:';CSV管道';对象没有属性';spider_关闭';
我按照Python 属性错误:';CSV管道';对象没有属性';spider_关闭';,python,scrapy-pipeline,Python,Scrapy Pipeline,我按照http://stackoverflow.com/questions/20753358/how-can-i-use-the-fields-to-export-attribute-in-baseitemexporter-to-order-my-scr/20758558#20758558并尝试按顺序导出项目字段。但终端只是输出 crawler.signals.connect(pipeline.spider\u关闭,signals.spider\u关闭) AttributeError:“CSVP
http://stackoverflow.com/questions/20753358/how-can-i-use-the-fields-to-export-attribute-in-baseitemexporter-to-order-my-scr/20758558#20758558
并尝试按顺序导出项目字段。但终端只是输出
crawler.signals.connect(pipeline.spider\u关闭,signals.spider\u关闭)
AttributeError:“CSVPipeline”对象没有属性“spider\u closed”
这是我的管道.py
from scrapy import signals
from scrapy.contrib.exporter import CsvItemExporter
class CSVPipeline(object):
def __init__(self):
self.files = {}
@classmethod
def from_crawler(cls, crawler):
pipeline = cls()
crawler.signals.connect(pipeline.spider_opened, signals.spider_opened)
crawler.signals.connect(pipeline.spider_closed, signals.spider_closed)
return pipeline
def spider_opened(self, spider):
file = open('%s_items.csv' % spider.name, 'w+b')
self.files[spider] = file
self.exporter = CsvItemExporter(file)
self.exporter.fields_to_export = ['c_name','c_employeeN','c_website','c_street','c_state_zip_code','c_country','p1c_name','p1c_role','p1c_phoneNumber','p1c_email','p2c_name','p2c_role','p2c_phoneNumber','p2c_email','p3c_name','p3c_role','p3c_phoneNumber','p3c_email','p1h_name','p1h_role','p1h_phoneNumber','p1h_email','p2h_name','p2h_role','p2h_phoneNumber','p2h_email','p3h_name','p3h_role','p3h_phoneNumber','p3h_email','p1f_name','p1f_role','p1f_phoneNumber','p1f_email','p2f_name','p2f_role','p2f_phoneNumber','p2f_email']
self.exporter.start_exporting()
def spider_cloesd(self, spider):
self.exporter.finish_exporting()
file = self.files.pop(spider)
file.close()
def process_item(self, item, spider):
self.exporter.export_item(item)
return item
我在我的设置.py中添加了ITEM_PIPELINES={'zoominfo_test.PIPELINES.CSVPipeline':300,}
我只是不知道发生了什么。如果有人能给我一个提示,我将不胜感激。谢谢 很明显,方法名中有输入错误
def spider_cloesd(self, spider):
self.exporter.finish_exporting()
file = self.files.pop(spider)
file.close()