2014-08-29 17 views
0

這是我的主要代碼scrapy:移動代碼pipelines.py有exceptions.NameError

class ProductSpider(Spider): 
    name = "email" 
    start_urls = [] 

    def __init__(self): 
     ScrapyFileLogObserver(open("spider.log", 'w'), level=log.INFO).start()    
     ScrapyFileLogObserver(open("spider_error.log", 'w'), level=log.ERROR).start()  
     super(ProductSpider, self).__init__() 

我想移動__init__部分pipeline.py def open_spider(self, spider)部分

像這樣:

class ShopPipeline(object): 
    def open_spider(self, spider): 
     ScrapyFileLogObserver(open("spider.log", 'w'), level=log.INFO).start()    
     ScrapyFileLogObserver(open("spider_error.log", 'w'), level=log.ERROR).start()  
     super(ProductSpider, self).__init__() 

但我不知道如何編輯super(ProductSpider, self).__init__()
錯誤說exceptions.NameError: global name 'ProductSpider' is not defined

如何修改這個請指引我感謝您

回答

0

你並不需要有在open_spider()一個super(ProductSpider, self).__init__()電話:

class ShopPipeline(object): 
    def open_spider(self, spider): 
     ScrapyFileLogObserver(open("spider.log", 'w'), level=log.INFO).start()    
     ScrapyFileLogObserver(open("spider_error.log", 'w'), level=log.ERROR).start()  

open_spider()是一種方法被稱爲蜘蛛時被打開。