Scrapy - Statistiksammlung

Beschreibung

Stats Collector ist eine von Scrapy bereitgestellte Funktion zum Sammeln der Statistiken in Form von Schlüsseln / Werten. Der Zugriff erfolgt über die Crawler-API (Crawler bietet Zugriff auf alle Scrapy-Kernkomponenten). Der Statistiksammler stellt eine Statistiktabelle pro Spinne bereit, in der der Statistiksammler automatisch geöffnet wird, wenn sich die Spinne öffnet, und den Statistiksammler schließt, wenn die Spinne geschlossen ist.

Allgemeine Verwendung für Statistiksammler

Der folgende Code greift mit auf den Statistikkollektor zu stats Attribut.

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

Die folgende Tabelle zeigt verschiedene Optionen, die mit dem Statistiksammler verwendet werden können.

Sr.Nr. Parameter Beschreibung
1
stats.set_value('hostname', socket.gethostname())
Es wird verwendet, um den Statistikwert festzulegen.
2
stats.inc_value('customized_count')
Es erhöht den stat-Wert.
3
stats.max_value('max_items_scraped', value)
Sie können den stat-Wert nur festlegen, wenn er größer als der vorherige Wert ist.
4
stats.min_value('min_free_memory_percent', value)
Sie können den stat-Wert nur einstellen, wenn er niedriger als der vorherige Wert ist.
5
stats.get_value('customized_count')
Es ruft den stat-Wert ab.
6
stats.get_stats() {'custom_count': 1, 'start_time': 
datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)}
Es ruft alle Statistiken ab

Verfügbare Statistiksammler

Scrapy bietet verschiedene Arten von Statistiksammlern, auf die mit dem zugegriffen werden kann STATS_CLASS Rahmen.

MemoryStatsCollector

Es ist der Standard-Statistiksammler, der die Statistiken aller Spinnen verwaltet, die zum Scraping verwendet wurden, und die Daten werden im Speicher gespeichert.

class scrapy.statscollectors.MemoryStatsCollector

DummyStatsCollector

Dieser Statistiksammler ist sehr effizient und macht nichts. Dies kann mit der Einstellung STATS_CLASS festgelegt und zum Deaktivieren der Statistiksammlung verwendet werden, um die Leistung zu verbessern.

class scrapy.statscollectors.DummyStatsCollector