Trị liệu - Bộ sưu tập số liệu thống kê

Sự miêu tả

Stats Collector là một cơ sở được cung cấp bởi Scrapy để thu thập các số liệu thống kê ở dạng khóa / giá trị và nó được truy cập bằng cách sử dụng Crawler API (Crawler cung cấp quyền truy cập vào tất cả các thành phần cốt lõi của Scrapy). Bộ thu thập số liệu thống kê cung cấp một bảng thống kê cho mỗi con nhện trong đó bộ thu thập số liệu thống kê sẽ tự động mở khi con nhện đang mở và đóng bộ thu thập số liệu thống kê khi con nhện bị đóng.

Sử dụng Trình thu thập số liệu thống kê phổ biến

Đoạn mã sau truy cập vào bộ thu thập số liệu thống kê bằng stats thuộc tính.

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

Bảng sau đây cho thấy các tùy chọn khác nhau có thể được sử dụng với bộ thu thập số liệu thống kê -

Sr.No Thông số Sự miêu tả
1
stats.set_value('hostname', socket.gethostname())
Nó được sử dụng để đặt giá trị thống kê.
2
stats.inc_value('customized_count')
Nó làm tăng giá trị thống kê.
3
stats.max_value('max_items_scraped', value)
Bạn có thể đặt giá trị thống kê, chỉ khi lớn hơn giá trị trước đó.
4
stats.min_value('min_free_memory_percent', value)
Bạn có thể đặt giá trị thống kê, chỉ khi thấp hơn giá trị trước đó.
5
stats.get_value('customized_count')
Nó lấy giá trị thống kê.
6
stats.get_stats() {'custom_count': 1, 'start_time': 
datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)}
Nó tìm nạp tất cả các số liệu thống kê

Bộ sưu tập số liệu thống kê có sẵn

Scrapy cung cấp các loại bộ thu thập số liệu thống kê khác nhau có thể được truy cập bằng cách sử dụng STATS_CLASS cài đặt.

MemoryStatsCollector

Nó là bộ thu thập số liệu thống kê mặc định duy trì số liệu thống kê của mọi con nhện được sử dụng để cạo và dữ liệu sẽ được lưu trữ trong bộ nhớ.

class scrapy.statscollectors.MemoryStatsCollector

DummyStatsCollector

Bộ thu thập số liệu thống kê này rất hiệu quả mà không làm gì cả. Điều này có thể được đặt bằng cách sử dụng cài đặt STATS_CLASS và có thể được sử dụng để tắt thu thập số liệu thống kê nhằm cải thiện hiệu suất.

class scrapy.statscollectors.DummyStatsCollector