Scrapy - Raccolta di statistiche

Descrizione

Stats Collector è una funzione fornita da Scrapy per raccogliere le statistiche sotto forma di chiave / valori e vi si accede utilizzando l'API Crawler (Crawler fornisce l'accesso a tutti i componenti principali di Scrapy). Il raccoglitore delle statistiche fornisce una tabella delle statistiche per ragno in cui il raccoglitore delle statistiche si apre automaticamente quando il ragno si apre e chiude il raccoglitore delle statistiche quando il ragno è chiuso.

Usi comuni del collezionista di statistiche

Il codice seguente accede al raccoglitore di statistiche utilizzando stats attributo.

class ExtensionThatAccessStats(object): 
   def __init__(self, stats): 
      self.stats = stats  
   
   @classmethod 
   def from_crawler(cls, crawler): 
      return cls(crawler.stats)

La tabella seguente mostra varie opzioni che possono essere utilizzate con il raccoglitore di statistiche:

Suor n Parametri Descrizione
1
stats.set_value('hostname', socket.gethostname())
Viene utilizzato per impostare il valore delle statistiche.
2
stats.inc_value('customized_count')
Incrementa il valore stat.
3
stats.max_value('max_items_scraped', value)
È possibile impostare il valore stat, solo se maggiore del valore precedente.
4
stats.min_value('min_free_memory_percent', value)
È possibile impostare il valore stat, solo se inferiore al valore precedente.
5
stats.get_value('customized_count')
Recupera il valore stat.
6
stats.get_stats() {'custom_count': 1, 'start_time': 
datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)}
Recupera tutte le statistiche

Collezionisti di statistiche disponibili

Scrapy fornisce diversi tipi di raccoglitore di statistiche a cui è possibile accedere utilizzando il STATS_CLASS ambientazione.

MemoryStatsCollector

È il raccoglitore di statistiche predefinito che mantiene le statistiche di ogni spider che è stato utilizzato per lo scraping ei dati verranno archiviati nella memoria.

class scrapy.statscollectors.MemoryStatsCollector

DummyStatsCollector

Questo raccoglitore di statistiche è molto efficiente e non fa nulla. Questo può essere impostato utilizzando l' impostazione STATS_CLASS e può essere utilizzato per disabilitare la raccolta di statistiche al fine di migliorare le prestazioni.

class scrapy.statscollectors.DummyStatsCollector