
    h7                         d dl Z d dlmZ d dlZd dlmZ d dlZd dlZd dlZd dl	Z
d dlmZ d dlmZ d dlZej                            d           dadd	iad
a G d de          ZdS )    N)BeautifulSoup)Spider)ARC4)unpadz..zhttps://www.fullhd.xxx/zh/z
User-AgentzlMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 c                   h    e Zd Zd Zd Zd Zd ZddedefdZd	 Z	d
 Z
d Zd Zd Zd Zd Zd ZdS )r   c                     dS )Nu   首页 selfs    +   /storage/emulated/0/纯福利/PY1/fullhd.pygetNamezSpider.getName   s    x    c                     d S Nr
   )r   extends     r   initzSpider.init       r   c                     d S r   r
   )r   urls     r   isVideoFormatzSpider.isVideoFormat!   r   r   c                     d S r   r
   r   s    r   manualVideoCheckzSpider.manualVideoCheck$   r   r   r   start_index1
end_index2c           
         |dk    rg }	 |                     |          }|dk    rny|                     ||t          |          z             }	|	dk    rnL||t          |          z   |	         }
|                    |
           |                    ||
z   |z   d          }t          |          dk    rd}t	          t          |                    D ]}t          j        |||                   }d}|D ]}t          j        d|d                   }|r|                    d          }nd}d|d         vr$|d	d
|d         z    d| t           |d          z  }e|d	d
|d         z    d| |d          z  }|dd          }||z   dz   }|d d         }|S dS |                     |          }|dk    rdS |                     ||t          |          z             }	|	dk    rdS |dk    r0||t          |          z   |	         }
|
                    dd          S |dk    rH||t          |          z   |	         }
t          j        ||
          }|rd
                    |          }|S |dk    rT||t          |          z   |	         }
t          j        ||
          }|r%d |D             }d
                    |          }|S d S d S )N   Tr   r   z(?:^|[^0-9])(\d+)(?:[^0-9]|$)   http#u   📽️$z$$$\    c                     g | ]}d | S )u   ✨r
   ).0items     r   
<listcomp>z.Spider.extract_middle_text.<locals>.<listcomp>`   s    ===TL$LL===r   )findlenappendreplacerangerefindallsearchgroupxurljoin)r   text	start_strend_strplr   r   plxstart_index	end_indexmiddle_textpurlimatchesoutputmatchmatch3numberjgnew_lists                       r   extract_middle_textzSpider.extract_middle_text'   s4   77C	K"ii	22"$$ IIg{S^^/KLL	??";Y#?	#IJ

;'''||I$;g$ErJJ	K 3xx!||s3xx 1 1A js1v>>GF!( 	T 	T!#+KUSTX!V!V! '%+\\!__FF%&F!q11"&Y)eAh*>&Y&Y&Y&YuUVx&Y&YYFF"&S)eAh*>&S&S&Sq&S&SSFF#ABBZF&=50DDCRCyr))I..Kb  r		';Y+GHHIBr77{S^^;IEFK&&tR00077{S^^;IEFKj{;;G XXg&&	77{S^^;IEFKj{;;G ==W===ZZ))	 7 r   c                     i }ddddddddddd	d
ddddddddddddddddddddddddddddddddd dgi}|S )!Nclasslatest-updatesu   最新视频🌠)type_id	type_name	top-ratedu   最佳视频🌠most-popularu   热门影片🌠znetworks/brazzers-comu   Brazzers🌠znetworks/tushy-comu	   Tushy🌠znetworks/naughtyamerica-comu   Naughtyamerica🌠zsites/sexmexu
   Sexmex🌠zsites/passion-hdu   Passion-HD🌠zcategories/animationu   Animation🌠zcategories/18-years-oldu   Teen🌠zcategories/pawgu   Pawg🌠zcategories/thongu	   Thong🌠zcategories/stockingsu   Stockings🌠zcategories/jav-uncensoredu   JAV🌠zcategories/pantyhoseu   Pantyhose🌠r
   )r   filterresults      r   homeContentzSpider.homeContentd   s    $3EFF.@AA"1CDD+.II({CC1@TUU">>&5EFF*II-JGG%J??&[AA*II/iHH*II $ r   c                    g }	 t          j        t          t                    }d|_        |j        }t          |d          }dddd}|                                D ]k\  }}|                    dd	
          }|s |	                    dd          }	|	D ]0}
|
	                    d          }|rd|d         j
        v r|d         d         n|}|
	                    d          }|r|d         d         nd}d}|
                    dd          }|r|                    d          r|d         }|s6|
                    dd          }|r|                    d          r|d         }|rd|vr
t          |z   }|
                    dd          }|r|j                                        nd}||||d}|                    |           2md|i}|S # t          $ r-}t          dt          |                      dg icY d }~S d }~ww xY w)Nr   headersutf-8lxmlu   最新视频u   最佳视频u   热门影片)rJ   rM   rN   div*list_videos_videos_watched_right_now_items)idr)   class_atitler   hrefr   imglazyloaddata-src	thumb_imgsrcr    spandurationvod_idvod_namevod_picvod_remarkslistzError in homeVideoContent: )requestsgetr4   headerxencodingr6   r   itemsr+   find_allattrsstripr-   	Exceptionprintstr)r   videosdetailresdocsections
section_idsection_namesectionvodsvodnamesnameidsrY   picpicsremarksremarkvideorP   es                         r   homeVideoContentzSpider.homeVideoContentz   s   9	 \dG<<<F%FO+CV,,C #1+ . H -5NN,<,< &) &)(
L((5-Z([[ ''f'==  )  )CLL--E05e'U1X^:S:S58G,,YeD,,s++C+.6QBB C88E*8==D / 4 4 /":. ."xxkxBB .DHHUOO ."&u+C  )vS00"Sj!hhvjhAAG5<DW\//111"F #%$(#&'-	 E MM%((((A )D f%FM 	  	  	 8A88999B<	 s   G
G 
H"H;HHc                 0   i }g }	 |r$t          |          dk    rt           d| d| d}nt           d| d}t          j        |t                    }d|_        |j        }	t          |	d          }
|
                    dd          }|rK|	                    dd	          }|D ]0}|	                    d
          }|rd|d         j
        v r|d         d         nd}|	                    d
          }|r|d         d         nd}d}|                    dd          }|r|                    d          r|d         }|s6|                    dd          }|r|                    d          r|d         }|rd|vr
t          |z   }|                    dd          }|r|j                                        nd}||||d}|                    |           2n6# t          $ r)}t          dt          |                      Y d }~nd }~ww xY w||dddd}|S )Nr   /rS   rU   rV   rW   list-videosrZ   r)   r\   r]   r   r   r^   r_   r`   ra   rb   rc   r    rd   re   rf   zError in categoryContent: '  Z   ?B rk   page	pagecountlimittotal)intr4   rl   rm   rn   ro   r6   r   r+   rq   rr   rs   r-   rt   ru   rv   )r   cidpgrO   extrP   rw   r   rx   ry   rz   r~   r   r   r   r   r   rY   r   r   r   r   r   r   s                           r   categoryContentzSpider.categoryContent   s   1	9 'c"ggkk++++b+++&&&&&\c7;;;F%FO+CV,,Chhu]h;;G ")''f'==  )  )CLL--E05['U1X^:S:S58G,,Y[D,,s++C+.6QBB C88E*8==D / 4 4 /":. ."xxkxBB .DHHUOO ."&u+C  )vS00"Sj!hhvjhAAG5<DW\//111"F #%$(#&'-	 E MM%(((( 	9 	9 	97s1vv7788888888	9 
 
 s   GG 
H"HHc           	      >   |d         }i }g }d}d|vr
t           |z   }t          j        |t                    }d|_        |j        }d|                     |ddd          z   }|                     |d	d
dd          }	|}
|                    ||	d|d|
d           ||d<   |S )Nr   r   r    rS   rU   u   👉z<h1>z</h1>z<span>Pornstars:</span>z</div>r   zhref=".*?">(.*?)</a>u   老僧酿酒)rg   	vod_actorvod_directorvod_contentvod_play_fromvod_play_urlrk   )r4   rl   rm   rn   ro   r6   rG   r-   )r   r   didrP   rw   playurlres1ry   contentyanuanbofangs              r   detailContentzSpider.detailContent   s    !f*C|W555i433CwJJJ))#/HRSUkll"+"  	 	 	  vr   c                    |                     d          }d}|dk    r't          |          dk    r|d         d|d         z   }}t          j        |t                    }|j        }|                     |ddd                              dd          }	t          |	d	          }
|
	                    d
          }|                    d          }t          j
        |d          }|j        dk    r|j        d         }t          j
        |d          }|j        dk    r|j        d         }i }||d<   d|d<   ||d<   t          |d<   |S d S )Nr    r   r   rS   z<videoz</video>r$   r   zhtml.parsersourcerc   F)allow_redirectsi.  LocationparseplayUrlr   header)splitr,   rl   rm   rn   r6   rG   r.   r   r+   headstatus_coderT   )r   flagrY   vipFlagspartsxiutanbefore_httpsafter_httpsry   url2soupfirst_source	src_valueresponseredirect_urlrP   s                   r   playerContentzSpider.playerContent  sT     Q;;5zzA~~,1!HfuQx6Gk,;@@@C(C++C:qIIQQRVXZ[[D }55D99X..L$((//I}YFFFH#s**'/
;}\5IIIH#s**'/
;F$F7O "F9(F5M&F8M1 ;r   c                 4   i }g }|sd}|dk    rt            d| d}nt            d| dt          |           d}	 t          j        |t                    }d|_        |j        }t          |d          }	|	                    dd	          }
|
rK|
	                    dd
	          }|D ]0}|	                    d          }|rd|d         j
        v r|d         d         nd}|	                    d          }|r|d         d         nd}d}|                    dd	          }|r|                    d          r|d         }|s6|                    dd	          }|r|                    d          r|d         }|rd|vr
t           |z   }|                    dd	          }|r|j                                        nd}||||d}|                    |           2n6# t          $ r)}t          dt          |                      Y d }~nd }~ww xY w||dddd}|S )N1z/search/r   rS   rU   rV   rW   r   rZ   r)   r\   r]   r   r   r^   r_   r`   ra   rb   rc   r    rd   re   rf   zError in searchContentPage: r   r   r   r   )r4   rv   rl   rm   rn   ro   r6   r   r+   rq   rr   rs   r-   rt   ru   )r   keyquickr   rP   rw   r   rx   ry   rz   r~   r   r   r   r   r   rY   r   r   r   r   r   r   s                          r   searchContentPagezSpider.searchContentPage1  s    	D3;;))3)))CC55355T555C+	;\c7;;;F%FO+CV,,Chhu]h;;G ")''f'==  )  )CLL--E05['U1X^:S:S58G,,Y[D,,s++C+.6QBB C88E*8==D / 4 4 /":. ."xxkxBB .DHHUOO ."&u+C  )vS00"Sj!hhvjhAAG5<DW\//111"F #%$(#&'-	 E MM%(((( 	; 	; 	;9Q99::::::::	; 
 
 s   FG 
H$HHc                 0    |                      ||d          S )Nr   )r   )r   r   r   s      r   searchContentzSpider.searchContentq  s    %%c5#666r   c                     |d         dk    r|                      |          S |d         dk    r|                     |          S |d         dk    r|                     |          S d S )Ntypem3u8mediats)	proxyM3u8
proxyMediaproxyTs)r   paramss     r   
localProxyzSpider.localProxyt  sj    &>V##>>&)))F^w&&??6***F^t##<<'''tr   N)r   r   )__name__
__module____qualname__r   r   r   r   rv   rG   rQ   r   r   r   r   r   r   r   r
   r   r   r   r      s                ; ;c ;dg ; ; ; ;z  ,;  ;  ; z= = =~  <  :> > >@7 7 7    r   r   )rl   bs4r   r0   base.spiderr   sysjsonbase64urllib.parseurllibCrypto.Cipherr   Crypto.Util.Paddingr   binasciipathr-   r4   rn   pmr
   r   r   <module>r      s           				       



             % % % % % %     #   A d d d d dV d d d d dr   