Scrapy - 统计收集
描述
stats 统计收集器是 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)
下表显示了可以与统计收集器一起使用的各种选项 −
| Sr.No | 参数 | 说明 |
|---|---|---|
| 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 设置进行访问。
MemoryStatsCollector
它是默认的统计数据收集器,用于维护每个用于抓取的蜘蛛的统计数据,数据将存储在内存中。
class scrapy.statscollectors.MemoryStatsCollector
DummyStatsCollector
此统计信息收集器非常高效,但不执行任何操作。可以使用 STATS_CLASS 设置进行设置,并可用于禁用统计信息收集以提高性能。
class scrapy.statscollectors.DummyStatsCollector

