Ë
    µŒjÑ	  ã                   ó†   — d Z ddlZddlmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZ  ej                  e«      Z G d„ de«      Zy)	zScrapfly Web Reader.é    N)ÚIteratorÚListÚLiteralÚOptional)Ú
BaseLoader)ÚDocument)Úget_from_envc                   óf   — e Zd ZdZdddddœdee   dee   ded	   d
ee   de	ddfd„Z
dee   fd„Zy)ÚScrapflyLoaderzƒTurn a url to llm accessible markdown with `Scrapfly.io`.

    For further details, visit: https://scrapfly.io/docs/sdk/python
    NÚmarkdownT)Úapi_keyÚscrape_formatÚscrape_configÚcontinue_on_failureÚurlsr   r   )r   Útextr   r   Úreturnc                óÐ   — 	 ddl m} |st        d«      ‚|xs t	        dd«      } ||¬«      | _         || _        || _        || _        || _        y# t        $ r t        d«      ‚w xY w)	a¬  Initialize client.

        Args:
            urls: List of urls to scrape.
            api_key: The Scrapfly API key. If not specified must have env var
                SCRAPFLY_API_KEY set.
            scrape_format: Scrape result format, one or "markdown" or "text".
            scrape_config: Dictionary of ScrapFly scrape config object.
            continue_on_failure: Whether to continue if scraping a url fails.
        r   )ÚScrapflyClientzC`scrapfly` package not found, please run `pip install scrapfly-sdk`zURLs must be provided.r   ÚSCRAPFLY_API_KEY)ÚkeyN)	Úscrapflyr   ÚImportErrorÚ
ValueErrorr	   r   r   r   r   )Úselfr   r   r   r   r   r   s          úw/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/document_loaders/scrapfly.pyÚ__init__zScrapflyLoader.__init__   sy   € ð&	Ý/ñ
 ÜÐ5Ó6Ð6ØÒHœ\¨)Ð5GÓHˆÙ&¨7Ô3ˆŒØˆŒ	Ø*ˆÔØ*ˆÔØ#6ˆÕ øô ò 	ÜØUóð ð	ús   ‚A ÁA%c              #   óˆ  K  — ddl m} | j                  �| j                  ni }| j                  D ]O  }	 | j                   j	                   ||fd| j
                  i|¤Ž«      }t        |j                  d   d|i¬«      –— ŒQ y # t        $ r4}| j                  rt        j                  d|› d|› �«       n|‚Y d }~Œ‹d }~ww xY w­w)	Nr   )ÚScrapeConfigÚformatÚcontentÚurl)Úpage_contentÚmetadatazError fetching data from z, exception: )r   r   r   r   Úscraper   r   Úscrape_resultÚ	Exceptionr   ÚloggerÚerror)r   r   r   r"   ÚresponseÚes         r   Ú	lazy_loadzScrapflyLoader.lazy_load5   sÄ   è ø€ Ý)à.2×.@Ñ.@Ð.L˜×*Ò*ÐRTˆØ—9”9ˆCðØŸ=™=×/Ñ/Ù  ÑQ¨T×-?Ñ-?ÐQÀ=ÑQó�ô Ø!)×!7Ñ!7¸	Ñ!BØ# S˜\ôó ñ øô ò Ø×+Ò+Ü—L‘LÐ#<¸S¸EÀÈqÈcÐ!RÕSà�Gô Tûðüs/   ‚0C³ABÁ?CÂ	B?Â*B:Â5CÂ:B?Â?C)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   r   ÚdictÚboolr   r   r   r,   © ó    r   r   r      sx   „ ñð "&Ø5?Ø(,Ø$(ò 7à�3‰ið 7ð ˜#‘ð	 7ð
 Ð1Ñ2ð 7ð   ‘~ð 7ð "ð 7ð 
ó 7ðD˜8 HÑ-ô r5   r   )r0   ÚloggingÚtypingr   r   r   r   Úlangchain_core.document_loadersr   Úlangchain_core.documentsr   Úlangchain_core.utilsr	   Ú	getLoggerÚ__file__r(   r   r4   r5   r   Ú<module>r=      s8   ðÙ ã ß 4Ó 4å 6Ý -Ý -à	ˆ×	Ñ	˜8Ó	$€ô9�Zõ 9r5   