
    ;hU'                         d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dl	m
Z
 e j                            d           d dlmZ  G d d	e          Z G d
 d          Zedk    rdS dS )    N)etree)quoteunquote)AES)unpadz..)Spiderc                   d    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZddZd Zd Zd ZdS )r   c                     | j         j        S N)vodnameselfs    (   /storage/emulated/0/纯福利/PY1/gay.pygetNamezSpider.getName   s    x}    c                 T    t          ||                                           | _        d S r   )VodgetProxyUrlr   )r   extends     r   initzSpider.init   s#    vt//1122r   c                     g S r    r   s    r   getDependencezSpider.getDependence   s    	r   c                     d S r   r   r   urls     r   isVideoFormatzSpider.isVideoFormat       r   c                     d S r   r   r   s    r   manualVideoCheckzSpider.manualVideoCheck   r   r   c                 6    | j                             |          S r   )r   liveContentr   s     r   r#   zSpider.liveContent   s    x##C(((r   c                 6    | j                             |          S r   )r   homeContentr   filters     r   r%   zSpider.homeContent!   s    x##F+++r   c                 4    | j                                         S r   )r   homeVideoContentr   s    r   r)   zSpider.homeVideoContent$   s    x((***r   c                 <    | j                             ||||          S r   )r   categoryContent)r   cidpager'   exts        r   r+   zSpider.categoryContent'   s    x''T63???r   c                 6    | j                             |          S r   )r   detailContent)r   dids     r   r0   zSpider.detailContent*   s    x%%c***r   1c                 :    | j                             |||          S r   )r   searchContent)r   keyquickr-   s       r   r4   zSpider.searchContent-   s    x%%c5$777r   c                 :    | j                             |||          S r   )r   playerContentr   flagpidvipFlagss       r   r8   zSpider.playerContent0   s    x%%dC:::r   c                     |d         dk    r`	 | j                             t          |d                             }dd|gS # t          $ r }t	          d|            g dcY d }~S d }~ww xY wg dS )	Ntypeimgr      zapplication/octet-streamzImage decryption failed: )i  
text/plains   Image Error)i  rA   r   )r   decrypt_imgr   	Exceptionprint)r   paramscontentes       r   
localProxyzSpider.localProxy3   s    &>U"";(..wve}/E/EFF7AA ; ; ;5!55666:::::::::; ('''s   1A   
A*
A%A*%A*c                     dS )Nu   正在Destroyr   r   s    r   destroyzSpider.destroy>   s    r   Nr2   )__name__
__module____qualname__r   r   r   r   r!   r#   r%   r)   r+   r0   r4   r8   rH   rJ   r   r   r   r   r      s          3 3 3      ) ) ), , ,+ + +@ @ @+ + +8 8 8 8; ; ;	 	 	    r   r   c                   N    e Zd ZddZd Zd Zd Zd Zdd	Zd
 Z	d Z
d Zd ZdS )r   {} c                     d| _         || _        |                     |            d| _        d| _        d| _        dddddd	d
ddddddddd| _        d S )NFGAYz`https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-720p.mp4zhttps://91nt.comzoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36ztext/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7zzh-CN,zh;q=0.9zno-cachezu=0, izhttps://91nt.com/zA"Chromium";v="140", "Not=A?Brand";v="24", "Google Chrome";v="140"z?0z	"Windows"documentnavigatezsame-originz?1r2   )z
User-AgentAcceptzaccept-languagezcache-controlpragmapriorityrefererz	sec-ch-uazsec-ch-ua-mobilezsec-ch-ua-platformzsec-fetch-destzsec-fetch-modezsec-fetch-sitezsec-fetch-userzupgrade-insecure-requests)debugr   logr   error_play_urlhome_urlheaders)r   r   	proxy_urls      r   __init__zVod.__init__C   s    
$I   	 A* L `/'  *h $"/((+"),
 
r   c                     |                      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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d0d1dd2d3dgd4gid5S )6Nu   执行了， homeContentplayu
   精选G片)type_id	type_namexrbju   鲜肉薄肌wtnsu   无套内射zfyhu   制服诱惑dmfju   耽美天菜jrmnu   肌肉猛男rhgvu   日韩GVomjdu   欧美巨屌drqpu   多人群交kjysu   口交颜射tjsmu   调教SMtagu   分类u   当前最热popular)nvu   最近更新newu   正在播放	watchingsu   小蓝原创xiaolanu   本月最热monu   10分钟以上10minu   20分钟以上20minu   本月收藏collectu   高清hdu   每月最热everyu   本月讨论currentu   收藏最多most)r5   r   value)classfilters)r[   r&   s     r   r%   zVod.homeContent\   sR   +,,,&,<HH&,>JJ&,>JJ&,>JJ&,>JJ&,>JJ&,:FF&,>JJ&,>JJ&,>JJ&,:FF
H #U.66D90U0U6D50Q0Q6D;0W0W6D90U0U6D50Q0Q6FW0U0U6FW0U0U6D90U0U6>T0J0J6D70S0S6D90U0U6D60R0R0T&U &U %V WX X 	Xr   c                    |                      d           g }| j         d}t          j        || j                  }t          j        |j                            d                    }|	                    d          }|D ]}|
                    |	                    d          d                                         |	                    d          d                                         | j         d	t          |	                    d
          d                    |	                    d          d         d           |dddS )Nu   执行了， homeVideoContentz/videos/all/newr^   utf-8//li/div[@class="video-item"]./div[1]/a/@hrefr   ./div[1]/a/text()&type=img&url=.//img/@data-src*.//div[contains(@class, "text-sm")]/text()vod_idvod_namevod_picvod_remarkslistparsejxr[   r]   requestsgetr^   r   HTMLtextencodexpathappendstripr   r   )r   	data_listr   resrootdatais          r   r)   zVod.homeVideoContentx   s>   0111	///l3555z#(//'2233zz9:: 	 	Agg&899!<BBDD !(; < <Q ? E E G G"&"2ii%PbHcHcdeHfBgBgii#$77+W#X#XYZ#[	     "AQ777r   c                    |                      d           g }|dk    r| j         d| }n| j         d| d| }t          j        || j                  }t          j        |j                            d                    }|	                    d          }	|	D ]}
|
                    |
	                    d	          d
                                         |
	                    d          d
                                         | j         dt          |
	                    d          d
                    |
	                    d          d
         d           |d
d
dS )Nu   执行了， categoryContentrb   z/videos/all/watchings/z/videos/category//r   r   r   r   r   r   r   r   r   r   r   r   )r   r,   r-   r'   r.   r   r   r   r   r   r   s              r   r+   zVod.categoryContent   sk   /000	&==]@@$@@CC]AASAA4AACl3555z#(//'2233zz9:: 	 	Agg&899!<BBDD !(; < <Q ? E E G G"&"2ii%PbHcHcdeHfBgBgii#$77+W#X#XYZ#[	     "AQ777r   c                    |d         }| j          | }t          j        || j                  }t	          j        |j                            d                    }|                    d          d         }|                    d          d         }g }|	                    d|ddddddd| j
        | d| d           |ddd	S )
Nr   r   r   z.//div[@class="player-container"]/div/@data-urlz0//div[@class="player-container"]/div/@data-videorQ   $)rd   r   r   r   vod_yearvod_area	vod_actorvod_directorvod_contentvod_play_fromvod_play_urlr   )r]   r   r   r^   r   r   r   r   r   r   r   )	r   r1   idsr   r   r   play_url	play_name
video_lists	            r   r0   zVod.detailContent   s    !f%%%l3555z#(//'2233::NOOPQRJJQRRSTU	
! "!!%#, 9 9x 9 9 	
 	
 	
  #Qa888r   r2   c                    |                      d           g }| j         d| d| }t          j        || j                  }t          j        |j                            d                    }|	                    d          }|D ]}	|
                    |		                    d          d                                         |		                    d	          d                                                             d          | j         d
t          |		                    d          d                    |		                    d          d         d           |dddS )Nu   执行了， searchContentz/videos/search/r   r   r   r   r   r   r   r   r   r   r   r   )r[   r]   r   r   r^   r   r   r   r   r   r   r   decoder   r   )
r   r5   r6   r-   r   r   r   r   r   r   s
             r   r4   zVod.searchContent   s[   -...	;;s;;T;;l3555z#(//'2233zz9:: 	 	A gg&899!<BBDD !(; < <Q ? E E G G N Nw W W"&"2ii%PbHcHcdeHfBgBgii#$77+W#X#XYZ#[	     "AQ777r   c                     |dddS )Nr   )r   r   r   r   r9   s       r   r8   zVod.playerContent   s    Qa000r   c                     d S r   r   r   s     r   r#   zVod.liveContent   r   r   c                 `   |                      d           d}d}|                    d          }|                    d          }t          j        |d          j        }t          j        |t
          j        |          }|                    |          }t          |t
          j
                  }	|	S )Nu   执行了， decrypt_imgf5d965df7533627097b60394abc2fbe1r      )timeout)r[   r   r   r   rF   r   rs   MODE_CBCdecryptr   
block_size)
r   r   key_striv_strr5   ivencrypted_bytescipherdecrypted_bytes
final_datas
             r   rB   zVod.decrypt_img   s    +,,,$#nnW%%]]7##",sA666>clB// ..99?CN;;
r   c                     | j         rA	 t          j        d|d           d S # t          $ r}t	          |           Y d }~d S d }~ww xY wd S )Nzhttp://192.168.31.12:5000/log   )r   r   )rZ   r   postrC   rD   )r   msgrG   s      r   r[   zVod.log   sp    : 	=CQRSSSSSS   a	 	s   " 
AAAN)rP   rQ   rK   )rL   rM   rN   r`   r%   r)   r+   r0   r4   r8   r#   rB   r[   r   r   r   r   r   B   s        
 
 
 
2X X X88 8 8$8 8 8*9 9 948 8 8 8.1 1 1  
 
 
    r   r   __main__)sysr   lxmlr   urllib.parser   r   Crypto.Cipherr   Crypto.Util.Paddingr   pathr   base.spiderr   r   rL   r   r   r   <module>r      s   


        ' ' ' ' ' ' ' '       % % % % % %          1 1 1 1 1V 1 1 1he e e e e e e eN zD r   