Scrapy - Collection de statistiques

La description

Stats Collector est une fonctionnalité fournie par Scrapy pour collecter les statistiques sous forme de clés / valeurs et il est accessible à l'aide de l'API Crawler (Crawler donne accès à tous les composants principaux de Scrapy). Le collecteur de statistiques fournit une table de statistiques par araignée dans laquelle le collecteur de statistiques s'ouvre automatiquement lorsque l'araignée s'ouvre et ferme le collecteur de statistiques lorsque l'araignée est fermée.

Utilisations courantes du collecteur de statistiques

Le code suivant accède au collecteur de statistiques en utilisant stats attribut.

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

Le tableau suivant montre diverses options pouvant être utilisées avec le collecteur de statistiques -

Sr.Non Paramètres La description
1
stats.set_value('hostname', socket.gethostname())
Il est utilisé pour définir la valeur des statistiques.
2
stats.inc_value('customized_count')
Il incrémente la valeur statistique.
3
stats.max_value('max_items_scraped', value)
Vous pouvez définir la valeur statistique, uniquement si elle est supérieure à la valeur précédente.
4
stats.min_value('min_free_memory_percent', value)
Vous pouvez définir la valeur statistique, uniquement si elle est inférieure à la valeur précédente.
5
stats.get_value('customized_count')
Il récupère la valeur statistique.
6
stats.get_stats() {'custom_count': 1, 'start_time': 
datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)}
Il récupère toutes les statistiques

Collectionneurs de statistiques disponibles

Scrapy fournit différents types de collecteurs de statistiques accessibles à l'aide du STATS_CLASS réglage.

MemoryStatsCollector

C'est le collecteur de statistiques par défaut qui maintient les statistiques de chaque araignée qui a été utilisée pour le scraping et les données seront stockées dans la mémoire.

class scrapy.statscollectors.MemoryStatsCollector

DummyStatsCollecteur

Ce collecteur de statistiques est très efficace et ne fait rien. Cela peut être défini à l'aide du paramètre STATS_CLASS et peut être utilisé pour désactiver la collecte de statistiques afin d'améliorer les performances.

class scrapy.statscollectors.DummyStatsCollector