
    3 d                     0    d Z ddlmZ  G d d          ZdS )zESet User-Agent header per spider or use a default value from settings    )signalsc                   <    e Zd ZdZddZed             Zd Zd ZdS )	UserAgentMiddlewarez9This middleware allows spiders to override the user_agentScrapyc                     || _         d S )N)
user_agent)selfr   s     Flib/python3.11/site-packages/scrapy/downloadermiddlewares/useragent.py__init__zUserAgentMiddleware.__init__	   s    $    c                      | |j         d                   }|j                            |j        t          j                   |S )N
USER_AGENT)signal)settingsr   connectspider_opened)clscrawleros      r
   from_crawlerz UserAgentMiddleware.from_crawler   s>    C .//8MNNNr   c                 <    t          |d| j                  | _        d S )Nr   )getattrr   )r	   spiders     r
   r   z!UserAgentMiddleware.spider_opened   s    !&,HHr   c                 X    | j         r"|j                            d| j                    d S d S )Ns
   User-Agent)r   headers
setdefault)r	   requestr   s      r
   process_requestz#UserAgentMiddleware.process_request   s9    ? 	GO&&}doFFFFF	G 	Gr   N)r   )	__name__
__module____qualname____doc__r   classmethodr   r   r    r   r
   r   r      so        CC% % % %   [
I I IG G G G Gr   r   N)r"   scrapyr   r   r$   r   r
   <module>r&      sY    K K      G G G G G G G G G Gr   