2015-10-03 2 views

ответ

7

Ваш трубопровод является продолжением и вы хотите, чтобы иметь доступ к атрибуту stats. Расширение принимает объект Crawler через метод from_crawler(cls, 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') 
     ... 
Смежные вопросы