
    SpKg                     R    d dl Z d dlZd dlZd dlmZ d dlZd dlm Z  G d de      Z	y)    N)logger)requestsc                       e Zd Zd Zd Zd Z	 ddefdZd Zd Z	d Z
d	 Zd
 Zdej                  fdZdej                  fdZy)RequestManagerc                      || _         || _        y N)all_sessionswebshare_ips)selfr	   r
   s      ,/var/www/highfloat_scraper/RequestManager.py__init__zRequestManager.__init__
   s    ((    c                 @    t        j                  | j                        S r   )randomchoicer	   )r   s    r   getAWSSessionzRequestManager.getAWSSession   s    }}T..//r   c                 .    t        j                         }|S r   )cffiSession)r   ss     r   getNewSessionzRequestManager.getNewSession   s    LLNr   skins_or_inspect_linksc                    | j                         j                  |d      }t        j                  |d|      }||S t	        j
                  d       t        j                  dd      }|xdk(  r0 | j                  |      }t        j                  |d|      }||S y xd	k(  r0 | j                  |      }t        j                  |d
|      }||S y xdk(  r0 | j                  |      }t        j                  |d|      }||S y xdk(  r0 | j                  |      }t        j                  |d|      }||S y dk(  r/| j                  |      }t        j                  |d|      }||S y 	 y )N   )timeoutAWS)responseproxy_providerr         )urlIPRoyal   Webshare   
ProxyCheap   2Captchaevomi)r   getInspectLinkValidatorcheckIfRequestSuccessfulltimesleepr   randintgetRequestIPRoyalgetRequestWebsharegetRequestProxyCheapgetRequest2CaptchagetRequestEvomi)r   r!   r   r   random_proxyproviders        r   getRequestAllAvailableProxiesz,RequestManager.getRequestAllAvailableProxies   s    %%'++C+<'AA #9

 OJJqM%~~a3"11c1:/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r   c                 d   | j                         }d}|j                  j                  ||d       	 |j                  |dd      }|S # t        j
                  j                  $ r t        j                  d       Y y t        $ r+}t        j                  dt        |      z          Y d }~y d }~ww xY w)Nz=http://kroisalex8:YIcLVEa3mdM4e7KsIW4W@rp-core.evomi.com:1000httpshttp
   chromer   impersonatezEvomi timed out.zException in getRequestEvomi: r   proxiesupdater*   r   
exceptionsTimeoutr   warning	Exceptioncriticalstr)r   r!   r   
evomi_httpr   es         r   r4   zRequestManager.getRequestEvomib   s     T
			:zBC	GuuS"(uCHO&& 	/NN-.   	GOO<s1vEFF	G   A 2B/<B/!B**B/c                 D   d}d}d}ddj                  |||      i}	 t        j                  ||dd      }|S # t        j                  j                  $ r t        j                  d	       Y y t        $ r+}t        j                  d
t        |      z          Y d }~y d }~ww xY w)Nzu9c85bfe1559a05bf-zone-customu9c85bfe1559a05bfz118.193.59.102:2334r9   zhttp://{}:{}@{}r;   r<   )r@   r   r>   z2Captcha timed out.z!Exception in getRequest2Captcha: )
formatr   r*   rB   rC   r   rD   rE   rF   rG   )r   r!   usernamepassword	PROXY_DNSproxyr   rI   s           r   r3   z!RequestManager.getRequest2Captchao   s    2&)	+228XyQR	JxxUBHUHO&& 	2NN01   	JOO?#a&HII	Js   8 2B,B4!BBc                    g d}| j                         }dt        j                  |      z   dz   }|j                  j	                  ||d       	 |j                  |dd      }|S # t        j                  j                  $ r t        j                  d       Y y t        $ r+}t        j                  d	t        |      z          Y d }~y d }~ww xY w)
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:12321r8   r;   r<   r=   zIPRoyal timed out.z Exception in getRequestIPRoyal: )r   r   r   r@   rA   r*   r   rB   rC   r   rD   rE   rF   rG   )r   r!   iproyal_pwlistr   iproyal_proxyr   rI   s          r   r0   z RequestManager.getRequestIPRoyal}   s    
   mmN+,$% 	
 	
		=-HI	IuuS"(uCHO&& 	1NN/0   	IOO>QGHH	I   A% %2CC!!CCc                    | j                         }t        j                  | j                        }|j                  j                  ||d       	 |j                  |dd      }|S # t        j                  j                  $ r t        j                  d       Y y t        $ r+}t        j                  dt        |      z          Y d }~y d }~ww xY w)Nr8   r;   r<   r=   zWebshare timed out.z!Exception in getRequestWebshare: )r   r   r   r
   r@   rA   r*   r   rB   rC   r   rD   rE   rF   rG   )r   r!   r   random_proxyr   rI   s         r   r1   z!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rV   c                 d   | j                         }d}|j                  j                  ||d       	 |j                  |dd      }|S # t        j
                  j                  $ r t        j                  d       Y y t        $ r+}t        j                  dt        |      z          Y d }~y d }~ww xY w)Nz<http://uw0g9g5j:mXC7JRAq3shWe34X@proxy.proxy-cheap.com:31112r8   r;   r<   r=   zProxyCheap timed out.z#Exception in getRequestProxyCheap: r?   )r   r!   r   proxycheap_proxyr   rI   s         r   r2   z#RequestManager.getRequestProxyCheap   s     J 	 	
		#3=MNO	LuuS"(uCHO&& 	4NN23   	LOOACFJKK	LrJ   returnc                 P    t        j                         }|j                  |      }|S r   )r   r   r*   )r   r!   r   rs       r   getRequestNakedzRequestManager.getRequestNaked   s"    EE#Jr   c                 T    t        j                         }|j                  ||      }|S )N)json)r   r   post)r   r!   _jsonr   r]   s        r   postRequestNakedzRequestManager.postRequestNaked   s'    FF3UF#r   N)inspect_links)__name__
__module____qualname__r   r   r   rG   r6   r4   r3   r0   r1   r2   r   Responser^   rc    r   r   r   r   	   sd    )0
 2AK+.KZ2h&7&7 
h.?.? r   r   )
r   r-   r   LoggingFormatterr   r+   	curl_cffir   objectr   ri   r   r   <module>rm      s%       #  &qV qr   