2015-10-03 49 views

回答

7

您的流水線是擴展名,您希望它可以訪問stats屬性。擴展通過from_crawler(cls, crawler)方法接收Crawler對象。

總而言之,你應該這樣做

def __init__(self, stats): 
    self.stats = stats 

@classmethod 
def from_crawler(cls, crawler): 
    return cls(crawler.stats) 

http://scrapy.readthedocs.org/en/latest/topics/stats.html#topics-stats

+0

謝謝,作品。你知道from_crawler方法的工作原理嗎? – gusridd

0

也可用統計數據從spider.crawler,例如(V1.1.0):

class ObjPipeline(object): 
    def process_item(self, item, spider): 
     spider.crawler.stats.inc_value('scraped_items') 
     ...