Scrapy – 统计资料收集
描述
统计资料收集器是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.set_value('hostname', socket.gethostname())
- 它增加了统计值。
stats.inc_value('customized_count')
- 你可以设置统计值,只有在大于以前的值时才可以。
stats.max_value('max_items_scraped', value)
- 你可以设置状态值,只有在低于以前的值时才可以。
stats.min_value('min_free_memory_percent', value)
- 它获取了统计值。
stats.get_value('customized_count')
- 它获取了所有的统计资料
stats.get_stats() {'custom_count': 1, 'start_time':
datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)}
可用的统计数据收集器
Scrapy提供了不同类型的统计收集器,可以使用 STATS_CLASS 设置来访问。
MemoryStatsCollector
它是默认的统计收集器,维护每个用于刮削的蜘蛛的统计信息,这些数据将被存储在内存中。
class scrapy.statscollectors.MemoryStatsCollector
虚假统计收集器
这个统计量收集器非常有效,它什么都不做。这可以使用 STATS_CLASS 设置,可以用来禁用统计信息收集,以提高性能。
class scrapy.statscollectors.DummyStatsCollector