
    Ch!                     R    S SK r S SKrS SKrS SKJr  S SKrS SKJ r   " S S\5      r	g)    N)logger)requestsc                       \ rS rSrS rS rS r SS\4S jjrS r	S r
S	 rS
 rS rS rS\R                   4S jrS\R                   4S jrSrg)RequestManager	   c                     Xl         X l        g Nall_sessionswebshare_ips)selfr   r   s      ,/var/www/highfloat_scraper/RequestManager.py__init__RequestManager.__init__
   s    ((    c                 B    [         R                  " U R                  5      $ r	   )randomchoicer   )r   s    r   getAWSSessionRequestManager.getAWSSession   s    }}T..//r   c                 0    [         R                  " 5       nU$ r	   )cffiSession)r   ss     r   getNewSessionRequestManager.getNewSession   s    LLNr   skins_or_inspect_linksc                 (   U R                  5       R                  USS9n[        R                  " USUS9nUb  U$ [        R
                  " S5        [        R                  " SS5      nU=S:X  a,    U R                  US9n[        R                  " US	US9nUb  U$ g =S
:X  a,    U R                  US9n[        R                  " USUS9nUb  U$ g =S:X  a,    U R                  US9n[        R                  " USUS9nUb  U$ g =S:X  a,    U R                  US9n[        R                  " USUS9nUb  U$ g =S:X  a,    U R                  US9n[        R                  " US	US9nUb  U$ g S:X  a+  U R                  US9n[        R                  " USUS9nUb  U$ g  g )N   )timeoutAWS)responseproxy_providerr            )urlevomi   Webshare   
ProxyCheap   2Captchadecodo)r   getInspectLinkValidatorcheckIfRequestSuccessfulltimesleepr   randintgetRequestEvomigetRequestWebsharegetRequestProxyCheapgetRequest2CaptchagetRequestDecodo)r   r'   r   r"   random_proxyproviders        r   getRequestAllAvailableProxies,RequestManager.getRequestAllAvailableProxies   s    %%'++C+<'AA #9

 OJJqM%~~a3" //C/8/II%#*+A
 '#O22s2;/II%#-+A
 '#O444=/II%#/+A
 '#O22s2;/II%#-+A
 '#O//C/8/II%#*+A
 '#O00S09/II%#++A
 '#Or   c                 d   U R                  5       nSnUR                  R                  X3S.5         UR                  USSS9nU$ ! [        R
                  R                   a    [        R                  " S5         g [         a,  n[        R                  " S[        U5      -   5         S nAg S nAff = f)Nz:http://spu28jb13d:6x91zX1iyZevipYc=U@gate.decodo.com:10001httpshttp
   chromer    impersonatezDecodo timed out.zException in getRequestDecodo: r   proxiesupdater0   r   
exceptionsTimeoutr   warning	Exceptioncriticalstr)r   r'   r   decodo_proxyr"   es         r   r:   RequestManager.getRequestDecodoy   s     S			<FG	HuuS"(uCHO&& 	0NN./   	HOO=AFGG	H   A 4B/:	B/"B**B/c                 d   U R                  5       nSnUR                  R                  X3S.5         UR                  USSS9nU$ ! [        R
                  R                   a    [        R                  " S5         g [         a,  n[        R                  " S[        U5      -   5         S nAg S nAff = f)Nz=http://kroisalex8:YIcLVEa3mdM4e7KsIW4W@rp-core.evomi.com:1000r?   rB   rC   rD   zEvomi timed out.zException in getRequestEvomi: rF   )r   r'   r   
evomi_httpr"   rP   s         r   r6   RequestManager.getRequestEvomi   s     T
			:BC	GuuS"(uCHO&& 	/NN-.   	GOO<s1vEFF	GrR   c                 D   SnSnSnSSR                  X#U5      0n [        R                  " XSSS9nU$ ! [        R                  R                   a    [
        R                  " S	5         g [         a,  n[
        R                  " S
[        U5      -   5         S nAg S nAff = f)Nzu9c85bfe1559a05bf-zone-customu9c85bfe1559a05bfz118.193.58.115:2334r@   zhttp://{}:{}@{}rB   rC   )rG   r    rE   z2Captcha timed out.z!Exception in getRequest2Captcha: )
formatr   r0   rI   rJ   r   rK   rL   rM   rN   )r   r'   usernamepassword	PROXY_DNSproxyr"   rP   s           r   r9   !RequestManager.getRequest2Captcha   s    2&)	+228yQR	JxxBHUHO&& 	2NN01   	JOO?#a&HII	Js   4 4B*	B3"BBc                    / SQnU R                  5       nS[        R                  " U5      -   S-   nUR                  R	                  XDS.5         UR                  USSS9nU$ ! [        R                  R                   a    [        R                  " S5         g [         a,  n[        R                  " S	[        U5      -   5         S nAg S nAff = f)
N)zmArgare1he_region-europe
mArgare1hezmArgare1he_streaming-1z$mArgare1he_region-europe_streaming-1zmArgare1he_region-northamericaz*mArgare1he_region-northamerica_streaming-1zhttp://alex133769:z@91.239.130.34:12321r?   rB   rC   rD   zIPRoyal timed out.z Exception in getRequestIPRoyal: )r   r   r   rG   rH   r0   r   rI   rJ   r   rK   rL   rM   rN   )r   r'   iproyal_pwlistr   iproyal_proxyr"   rP   s          r   getRequestIPRoyal RequestManager.getRequestIPRoyal   s    
   mmN+,$% 	
 	
		=HI	IuuS"(uCHO&& 	1NN/0   	IOO>QGHH	I   A" "4C	C!"CCc                    U R                  5       n[        R                  " U R                  5      nUR                  R                  X3S.5         UR                  USSS9nU$ ! [        R                  R                   a    [        R                  " S5         g [         a,  n[        R                  " S[        U5      -   5         S nAg S nAff = f)Nr?   rB   rC   rD   zWebshare timed out.z!Exception in getRequestWebshare: )r   r   r   r   rG   rH   r0   r   rI   rJ   r   rK   rL   rM   rN   )r   r'   r   random_proxyr"   rP   s         r   r7   !RequestManager.getRequestWebshare   s     }}T%6%67			<FG	JuuS"(uCHO&& 	2NN01   	JOO?#a&HII	Jrd   c                 d   U R                  5       nSnUR                  R                  X3S.5         UR                  USSS9nU$ ! [        R
                  R                   a    [        R                  " S5         g [         a,  n[        R                  " S[        U5      -   5         S nAg S nAff = f)NzLhttp://pc5tkbSPQv-res-any:PC_2zhhzSZobTHLEia0M@proxy-eu.proxy-cheap.com:5959r?   rB   rC   rD   zProxyCheap timed out.z#Exception in getRequestProxyCheap: rF   )r   r'   r   proxycheap_proxyr"   rP   s         r   r8   #RequestManager.getRequestProxyCheap   s     Z 	 	
		#3NO	LuuS"(uCHO&& 	4NN23   	LOOACFJKK	LrR   returnc                 R    [         R                  " 5       nUR                  U5      nU$ r	   )r   r   r0   )r   r'   r   rs       r   getRequestNakedRequestManager.getRequestNaked   s"    EE#Jr   c                 N    [         R                  " 5       nUR                  XS9nU$ )N)json)r   r   post)r   r'   _jsonr   rm   s        r   postRequestNakedRequestManager.postRequestNaked   s%    FF3F#r   r
   N)inspect_links)__name__
__module____qualname____firstlineno__r   r   r   rN   r<   r:   r6   r9   rb   r7   r8   r   Responsern   rt   __static_attributes__ r   r   r   r   	   si    )0
 2Ab+.bH2h&7&7 
h.?.? r   r   )
r   r3   r   LoggingFormatterr   r1   	curl_cffir   objectr   r}   r   r   <module>r      s%       #  &WV Wr   