Stats Collector — это средство, предоставляемое Scrapy для сбора статистики в виде ключей / значений, доступ к которой осуществляется с помощью API Crawler (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 и может быть использовано для отключения сбора статистики для повышения производительности.