§
    šŠtj)  ã                   óZ   — d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	  G d„ de¦  «        Z
dS )é    )ÚIteratorÚLiteralÚOptional)Ú
BaseLoader)ÚDocument)Úget_from_envc            
       óp   — e Zd ZdZddddœdedee         ded         d	ee         fd
„Zde	e
         fd„ZdS )ÚSpiderLoaderzªLoad web pages as Documents using Spider AI.

    Must have the Python package `spider-client` installed and a Spider API key.
    See https://spider.cloud for more.
    NÚscrape)Úapi_keyÚmodeÚparamsÚurlr   r   ©r   Úcrawlr   c                óü   — |€dddœ}	 ddl m} n# t          $ r t          d¦  «        ‚w xY w|dvrt          d	|› d
�¦  «        ‚|pt	          dd¦  «        } ||¬¦  «        | _         || _        || _        || _        dS )aÙ  Initialize with API key and URL.

        Args:
            url: The URL to be processed.
            api_key: The Spider API key. If not specified, will be read from env
            var `SPIDER_API_KEY`.
            mode: The mode to run the loader in. Default is "scrape".
                 Options include "scrape" (single page) and "crawl" (with deeper
                 crawling following subpages).
            params: Additional parameters for the Spider API.
        NÚmarkdownT)Úreturn_formatÚmetadatar   )ÚSpiderzB`spider` package not found, please run `pip install spider-client`r   zUnrecognized mode 'z%'. Expected one of 'scrape', 'crawl'.r   ÚSPIDER_API_KEY)r   )Úspiderr   ÚImportErrorÚ
ValueErrorr   r   r   r   )Úselfr   r   r   r   r   s         úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/document_loaders/spider.pyÚ__init__zSpiderLoader.__init__   s×   € ð& ˆ>à!+Ø ðð ˆFð
	Ø%Ð%Ð%Ð%Ð%Ð%Ð%øÝð 	ð 	ð 	ÝØTñô ð ð	øøøð Ð*Ð*Ð*ÝØQ dÐQÐQÐQñô ð ð
 ÐF�\¨)Ð5EÑFÔFˆØ�f WÐ-Ñ-Ô-ˆŒØˆŒØˆŒ	ØˆŒˆˆs   ‰ �*Úreturnc              #   ó‚  K  — g }| j         dk    r>| j                             | j        | j        ¬¦  «        }|r|                     |¦  «         nH| j         dk    r=| j                             | j        | j        ¬¦  «        }|r|                     |¦  «         |D ]¦}| j         dk    rM|d                              dd¦  «        }|d                              di ¦  «        }|�t          ||¬	¦  «        V — | j         dk    rA|                     dd¦  «        }|                     di ¦  «        }|�t          ||¬	¦  «        V — Œ§dS )
z+Load documents based on the specified mode.r   )r   r   r   ÚcontentÚ r   N)Úpage_contentr   )
r   r   Ú
scrape_urlr   r   ÚappendÚ	crawl_urlÚextendÚgetr   )r   Úspider_docsÚresponseÚdocr"   r   s         r   Ú	lazy_loadzSpiderLoader.lazy_load:   sr  è è € àˆàŒ9˜Ò Ð à”{×-Ò-¨d¬h¸t¼{Ð-ÑKÔKˆHØð -Ø×"Ò" 8Ñ,Ô,Ð,øØŒY˜'Ò!Ð!à”{×,Ò,¨T¬X¸d¼kÐ,ÑJÔJˆHØð -Ø×"Ò" 8Ñ,Ô,Ð,àð 	ð 	ˆCØŒy˜HÒ$Ð$à" 1œvŸzšz¨)°RÑ8Ô8�ð ˜qœ6Ÿ:š: j°"Ñ5Ô5�àÐ+Ý"°ÀxÐPÑPÔPÐPÐPÐPØŒy˜GÒ#Ð#à"Ÿwšw y°"Ñ5Ô5�ð Ÿ7š7 :¨rÑ2Ô2�àÐ+Ý"Ø%1Ø!)ðñ ô ð ð ð øð%	ð 	ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r   Údictr   r   r   r+   © r,   r   r
   r
      sœ   € € € € € ðð ð "&Ø+3Ø!%ð)ð )ð )àð)ð ˜#”ð	)ð
 Ð'Ô(ð)ð ˜”ð)ð )ð )ð )ðV$˜8 HÔ-ð $ð $ð $ð $ð $ð $r,   r
   N)Útypingr   r   r   Úlangchain_core.document_loadersr   Úlangchain_core.documentsr   Úlangchain_core.utilsr   r
   r3   r,   r   ú<module>r8      s—   ðØ .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø -Ð -Ð -Ð -Ð -Ð -Ø -Ð -Ð -Ð -Ð -Ð -ðVð Vð Vð Vð V�:ñ Vô Vð Vð Vð Vr,   