Scrapy - İstatistik Koleksiyonu

Açıklama

İstatistik Toplayıcı, Scrapy tarafından istatistikleri anahtar / değerler şeklinde toplamak için sağlanan bir tesistir ve Crawler API (Tarayıcı, tüm Scrapy çekirdek bileşenlerine erişim sağlar) kullanılarak erişilir. İstatistik toplayıcı, örümcek başına istatistik toplayıcısının örümcek açıldığında otomatik olarak açıldığı ve örümcek kapatıldığında istatistik toplayıcısını kapattığı bir istatistik tablosu sağlar.

Genel İstatistik Toplayıcı Kullanımları

Aşağıdaki kod, şunu kullanarak istatistik toplayıcıya erişir: stats öznitelik.

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

Aşağıdaki tablo, istatistik toplayıcı ile kullanılabilecek çeşitli seçenekleri göstermektedir -

Sr.No Parametreler Açıklama
1
stats.set_value('hostname', socket.gethostname())
İstatistik değerini ayarlamak için kullanılır.
2
stats.inc_value('customized_count')
İstatistik değerini artırır.
3
stats.max_value('max_items_scraped', value)
İstatistik değerini yalnızca önceki değerden büyükse ayarlayabilirsiniz.
4
stats.min_value('min_free_memory_percent', value)
İstatistik değerini yalnızca önceki değerden düşükse ayarlayabilirsiniz.
5
stats.get_value('customized_count')
İstatistik değerini getirir.
6
stats.get_stats() {'custom_count': 1, 'start_time': 
datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)}
Tüm istatistikleri getirir

Mevcut İstatistik Toplayıcıları

Scrapy, kullanılarak erişilebilen farklı türlerde istatistik toplayıcı sağlar. STATS_CLASS ayarı.

MemoryStatsCollector

Kazıma için kullanılan her örümceğin istatistiklerini tutan varsayılan İstatistik toplayıcıdır ve veriler bellekte depolanır.

class scrapy.statscollectors.MemoryStatsCollector

DummyStatsCollector

Bu istatistik toplayıcı çok verimli ve hiçbir şey yapmıyor. Bu, STATS_CLASS ayarı kullanılarak ayarlanabilir ve performansı iyileştirmek için istatistik toplamayı devre dışı bırakmak için kullanılabilir.

class scrapy.statscollectors.DummyStatsCollector