Scrapy - 统计数据收集


描述

Stats Collector 是 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)

下表显示了可以与统计收集器一起使用的各种选项 -

先生编号 参数 描述
1
stats.set_value('hostname', socket.gethostname())
它用于设置统计值。
2
stats.inc_value('customized_count')
它会增加统计值。
3
stats.max_value('max_items_scraped', value)
仅当统计值大于先前值时,您才可以设置统计值。
4
stats.min_value('min_free_memory_percent', value)
仅当统计值低于之前的值时,您才可以设置统计值。
5
stats.get_value('customized_count')
它获取统计值。
6
stats.get_stats() {'custom_count': 1, 'start_time': 
datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)} 
它获取所有统计数据

可用的统计收集器

Scrapy 提供了不同类型的统计收集器,可以使用STATS_CLASS设置进行访问。

内存统计收集器

它是默认的统计收集器,用于维护用于抓取的每个蜘蛛的统计信息,并且数据将存储在内存中。

class scrapy.statscollectors.MemoryStatsCollector

虚拟统计收集器

这个统计收集器非常高效,但什么也不做。这可以使用STATS_CLASS设置进行设置,并可用于禁用统计信息收集以提高性能。

class scrapy.statscollectors.DummyStatsCollector