统计收集器是Scrapy提供的工具,用于以键/值的形式收集统计数据,并使用Crawler API访问(Crawler提供对所有Scrapy核心的访问)组件).统计信息收集器为每个蜘蛛提供一个统计表,其中统计信息收集器在蜘蛛打开时自动打开,并在蜘蛛关闭时关闭统计信息收集器.
以下代码使用 stats 属性访问统计信息收集器.
class ExtensionThatAccessStats(object): def __init__(self, stats): self.stats = stats @classmethod def from_crawler(cls, crawler): return cls(crawler.stats)
下表显示了可以与stats collector : 一起使用的各种选项;
Sr.No | 参数 | 描述 |
---|---|---|
1 | stats.set_value('hostname',socket.gethostname()) | 用于设置统计值. |
2 | stats.inc_value('customized_count') | 它会增加统计值. |
3 | stats.max_value('max_items_scraped',value) | 只有当大于以前的值时才能设置stat值. |
4 | stats.min_value('min_free_memory_percent',value) | 您可以设置统计值,只有低于之前的值. |
5 | stats.get_value('customized_count') | 它获取stat值. |
6 | stats.get_stats(){'custom_count':1,'start_time':datetime.datetime(2009,7,14,21,47 ,28,977139)} | 它获取所有统计数据 |
Scrapy提供不同类型的统计数据收集器,可以使用 STATS_CLASS 设置.
这是mai的默认统计信息收集器获取用于抓取的每个蜘蛛的统计数据,数据将存储在内存中.
class scrapy.statscollectors.MemoryStatsCollector
这个统计信息收集器效率很高,什么都不做.这可以使用 STATS_CLASS 设置进行设置,并可用于禁用统计信息收集以提高性能.
class scrapy.statscollectors.DummyStatsCollector