如何从管道访问scrapy统计信息

gus*_*idd 4 python scrapy

从scrapy api我知道爬虫包含stats属性,但是如何从自定义管道访问它?

class MyPipeline(object):

    def __init__(self): 
        self.stats = ???
Run Code Online (Sandbox Code Playgroud)

小智 11

您的管道是一个扩展,您希望它访问该stats属性.扩展通过该from_crawler(cls, crawler)方法接收Crawler对象.

总而言之,你应该做点什么

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

@classmethod
def from_crawler(cls, crawler):
    return cls(crawler.stats)
Run Code Online (Sandbox Code Playgroud)

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