Source code for kingfisher_scrapy.extensions.item_count
from scrapy import signals
[docs]
class ItemCount:
"""
Adds a count to the crawl stats for each type of item scraped.
"""
def __init__(self, stats):
self.stats = stats
[docs]
@classmethod
def from_crawler(cls, crawler):
extension = cls(crawler.stats)
crawler.signals.connect(extension.item_scraped, signal=signals.item_scraped)
return extension
[docs]
def item_scraped(self, item, spider):
self.stats.inc_value(f'{type(item).__name__.lower()}_count')