
    3 d                     l    d dl Z d dlmZ d dlmZ d dlmZ  e j        e          Z	 G d d          Z
dS )    N)task)signals)NotConfiguredc                   B    e Zd ZdZd	dZed             Zd Zd Zd Z	dS )
LogStatsz%Log basic scraping stats periodically      N@c                 N    || _         || _        d| j        z  | _        d | _        d S )Nr   )statsinterval
multiplierr   )selfr
   r   s      :lib/python3.11/site-packages/scrapy/extensions/logstats.py__init__zLogStats.__init__   s)    
 .			    c                    |j                             d          }|st           | |j        |          }|j                            |j        t          j                   |j                            |j        t          j                   |S )NLOGSTATS_INTERVAL)signal)settingsgetfloatr   r
   r   connectspider_openedspider_closed)clscrawlerr   os       r   from_crawlerzLogStats.from_crawler   s    #,,-@AA 	 Cx((8MNNN8MNNNr   c                     d| _         d| _        t          j        | j        |          | _        | j                            | j                   d S )Nr   )	pagesprev	itemsprevr   LoopingCalllogstartr   )r   spiders     r   r   zLogStats.spider_opened   sB    $TXv66		&&&&&r   c                 (   | j                             dd          }| j                             dd          }|| j        z
  | j        z  }|| j        z
  | j        z  }||c| _        | _        d}||||d}t
                              ||d|i           d S )Nitem_scraped_countr   response_received_countzhCrawled %(pages)d pages (at %(pagerate)d pages/min), scraped %(items)d items (at %(itemrate)d items/min))pagespagerateitemsitemrater#   )extra)r
   	get_valuer   r   r   loggerinfo)r   r#   r)   r'   iratepratemsglog_argss           r   r!   zLogStats.log%   s    
$$%91==
$$%>BB'4?:'4?:).&B 	
 	
 
 	C(F);<<<<<r   c                 f    | j         r'| j         j        r| j                                          d S d S d S )N)r   runningstop)r   r#   reasons      r   r   zLogStats.spider_closed8   sD    9 	* 	INN	 	 	 	r   N)r   )
__name__
__module____qualname____doc__r   classmethodr   r   r!   r    r   r   r   r      sv        //      [' ' '= = =&    r   r   )loggingtwisted.internetr   scrapyr   scrapy.exceptionsr   	getLoggerr7   r-   r   r<   r   r   <module>rB      s     ! ! ! ! ! !       + + + + + +		8	$	$/ / / / / / / / / /r   