如何从管道中访问scrapy统计

2024-09-28 03:15:12 发布

您现在位置:Python中文网/ 问答频道 /正文

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

class MyPipeline(object):

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

Tags: self程序属性管道objectinitdefstats
2条回答

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

总之,你应该做些

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

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

{a1}

也可以从爬行器,例如(v1.1.0):

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

相关问题 更多 >

    热门问题