
    "i                         d dl Z d dlZd dlmZ e j                            d           d dlmZ  G d de          Zedk    rdS dS )    N)etreez..)Spiderc                   ^    e 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                     dS )NRou selfs    (   /storage/emulated/0/纯福利/PY1/rou.pygetNamezSpider.getName   s    u    c                 &    d| _         ddi| _        d S )Nhttps://rou.videoz
User-AgentzoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36)home_urlheaders)r
   extends     r   initzSpider.init   s     +  LMr   c                     g S Nr   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                 N   | j         dz   }	 t          j        || j                  }|j        dk    rg d|j         dS t          j        |j                            d                    }|	                    d          }|	                    d          }t          |          d	k     st          |          d	k     rg d
dS g }t          ||          D ]\  }}|                    ||d           d|iS # t          j        j        $ r}	g t          |	          dcY d }	~	S d }	~	ww xY w)Nz/catr      status_code: )classmsgutf-8zM//div[@class="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-3"]/a/text()zL//div[@class="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-3"]/a/@href      获取的数据为空)	type_nametype_idr!   )r   requestsgetr   status_coder   HTMLtextencodexpathlenzipappend
exceptionsRequestExceptionstr)
r
   filterr   resroot	name_listurl_listanamees
             r   homeContentzSpider.homeContent   sQ   mf$	0,sDL999C#%%!#,MCO,M,MNNN:choog6677D

#rssIzz"pqqH9~~!!S]]Q%6%6!#,CDDDA H55 > >	ct<<====Q<"3 	0 	0 	0A////////	0s)   2C4 B C4  3C4 4D$DD$D$c                 R   | j         dz   }	 t          j        || j                  }|j        dk    rg ddd|j         dS t          j        |j                            d                    }|	                    d          }t          |          d	k     rg ddd
dS g }|D ]}|	                    d          }|	                    d          }|	                    d          }	|                    |	                    d          d         t          |	d                   dk    r|	d         n|	d	         |	                    d          d         |r|d         nd|r|d         nddddd           |dddS # t          j        j        $ r}
g ddt          |
          dcY d }
~
S d }
~
ww xY w)Nz/homer   r   r   r    listparsejxr"   r#   '//div[@class="aspect-video relative"]/ar$   r%   ./div[2]/text()./div[3]/text()
./img/@alt./@href
./img/@src rect      ?typeratiovod_idvod_namevod_picvod_remarksvod_yearstyler@   rA   rB   r   r(   r)   r   r*   r   r+   r,   r-   r.   r/   r1   r2   r3   r4   )r
   r   r6   r7   	data_listr:   irS   rT   rQ   r<   s              r   homeVideoContentzSpider.homeVideoContent1   s   mg%	D,sDL999C#%% "Qa@aPSP_@a@abbb:choog6677D

#LMMI9~~!! "Qa@WXXXA  gg&78877#45577<00"#'')"4"4Q"736x{3C3Ca3G3GHQKKXVW[#$77<#8#8#;9D'L{1~~"3;$CHQKK*03!?!? 	 	 	 	 333"3 	D 	D 	D!CFFCCCCCCCC	Ds+   4E4 AE4 CE4 4F&F!F&!F&c                 Z   | j          | d| }	 t          j        || j                  }|j        dk    rg ddd|j         dS t          j        |j                            d                    }|	                    d          }t          |          d	k     rg ddd
dS g }	|D ]}
|
	                    d          }|
	                    d          }|
	                    d          }|	                    |
	                    d          d         t          |d                   dk    r|d         n|d	         |
	                    d          d         |r|d         nd|r|d         nddddd           |	dddS # t          j        j        $ r}g ddt          |          dcY d }~S d }~ww xY w)Nz?order=createdAt&page=r   r   r   r    r?   r#   rC   r$   r%   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rO   rV   rW   )r
   cidpager5   extr   r6   r7   rX   r:   rY   rS   rT   rQ   r<   s                  r   categoryContentzSpider.categoryContentO   s    AAA4AA	D,sDL999C#%% "Qa@aPSP_@a@abbb:choog6677D

#LMMI9~~!! "Qa@WXXXA  gg&78877#45577<00"#'')"4"4Q"736x{3C3Ca3G3GHQKKXVW[#$77<#8#8#;9D'L{1~~"3;$CHQKK*03!?!? 	 	 	 	 333"3 	D 	D 	D!CFFCCCCCCCC	Ds+   4E8 AE8  CE8 8F*F%F*%F*c                 z   |d         }g }| j         d| z   }ddddddd	}	 t          j        ||
          }|j        dk    rg ddd|j         dS |                                d         d         }|                    d|ddddddddd| d           |dddS # t          j        $ r}g |dcY d }~S d }~ww xY w)Nr   z/apiz*/*zzh-CN,zh;q=0.9zno-cachezapplication/jsonr   zoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36)acceptzaccept-languagezcache-controlzcontent-typerefererz
user-agentr   r   r    r?   videovideoUrlrI   u   书生玩剑u   老僧酿酒u   名妓读经$)r&   rP   rQ   rS   rT   vod_area	vod_actorvod_directorvod_contentvod_play_fromvod_play_urlrV   )r@   r"   )r   r(   r)   r*   jsonr1   r3   )	r
   didids
video_listr   hr6   play_urlr<   s	            r   detailContentzSpider.detailContentl   s;   !f
mlSll*/'.* L
 
	*,sA...C#%% "Qa@aPSP_@a@abbbxxzz'*:6H!#! "#% " "!#$2#%%3$>H$>$>     '!<<<( 	* 	* 	*q))))))))	*s$   /B A	B B:+B5/B:5B:1c                 \   | j          d| d| }	 t          j        || j                  }|j        dk    rg ddd|j         dS t          j        |j                            d                    }|	                    d	          }t          |          d
k     rg ddddS g }|D ]}	|		                    d          }
|		                    d          }|		                    d          }|                    |		                    d          d         t          |d                   dk    r|d         n|d
         |		                    d          d         |
r|
d         nd|r|d         nddddd           |dddS # t          j        j        $ r}g ddt          |          dcY d }~S d }~ww xY w)Nz
/search?q=z&page=r   r   r   r    r?   r#   rC   r$   r%   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rO   rV   rW   )r
   keyquickr]   r   r6   r7   rX   r:   rY   rS   rT   rQ   r<   s                 r   searchContentzSpider.searchContent   s   ;;#;;T;;	D,sDL999C#%% "Qa@aPSP_@a@abbb:choog6677D

#LMMI9~~!! "Qa@WXXXA  gg&78877#45577<00"#'')"4"4Q"736x{3C3Ca3G3GHQKKXVW[#$77<#8#8#;9D'L{1~~"3;$CHQKK*03!?!? 	 	 	 	 333"3 	D 	D 	D!CFFCCCCCCCC	Ds+   4E9 AE9 !CE9 9F+F& F+&F+c                     || j         dddS )Nr   )r   headerrA   rB   r   )r
   flagpidvipFlagss       r   playerContentzSpider.playerContent   s    dlQaHHHr   c                     d S r   r   )r
   paramss     r   
localProxyzSpider.localProxy   r   r   c                     dS )Nu   正在Destroyr   r	   s    r   destroyzSpider.destroy   s    r   N)rr   )__name__
__module____qualname__r   r   r   r   r   r=   rZ   r_   rq   rv   r|   r   r   r   r   r   r   r      s          M M M
      0 0 0$D D D<D D D:#* #* #*JD D D D:I I I      r   r   __main__)	sysr(   lxmlr   pathr1   base.spiderr   r   r   r   r   <module>r      s   
 


                 h h h h hV h h hV zD r   