
    .i)                         d dl Z 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
dS )    N)PyQueryz..)Spiderc                   R    e 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 ZdS )r   c                     dS )Nu   美人吹箫 selfs    5   /storage/emulated/0/纯福利/py1/E佬通用视频.pygetNamezSpider.getName
   s    ~    c                     d S Nr   )r	   extends     r
   initzSpider.init   s    r   c                    i }g }	 |                      d          }|r|j        rt          |j                  } |d          }|                                D ]w}|                                }|                    d          }	|rJ|	rH|dk    rBt          j        d|	          }
|
r+|                    ||
                    d          d           x|s |d          }|                                D ]w}|                                }|                    d          }	|rJ|	rH|dk    rBt          j        d|	          }
|
r+|                    ||
                    d          d           xt                      }g }|D ]<}|d	         |vr0|
                    |d	                    |                    |           =|}n)# t          $ r}t          d
|            Y d }~nd }~ww xY w||d<   |S )N%https://www.mrcx2.yachts/cn/home/web/z.stui-header__menu li ahrefu   首页z/type/id/(\d+)\.html   )	type_nametype_idz.dropdown.type li ar   zhomeContent error: class)fetchtextpqitemsattrresearchappendgroupsetadd	Exceptionprint)r	   filterresultclassesrspdocr   itemnamer   matchseenunique_classesclses                  r
   homeContentzSpider.homeContent   sS   +	-**DEEC &)sx &)ll 566!KKMM 
 
D99;;D99V,,D  )9)9 "	*A4 H H  #NN-1+0;;q>>, ,     #C 566E % 	# 	##yy{{#yy00 #D #TX-=-=$&I.Et$L$LE$ # '15/4{{1~~0" 0" !# !# !# uu!#" 3 3C9~T11Y000&--c222( 	- 	- 	-+++,,,,,,,,	- "ws   F5F< <
G"GG"c           	         i }	 g }d}|                      |          }|ry|j        rqt          |j                  } |d          }|                                D ]<}|                    d          }|                    d          }	|                    d          p'|                    d                              d          }
|                    d          p|                    d          }|r0d	|v r,t          j        d
|          }|r|                    d          }|
r|	s|                    d                                          pd}|                    d                                          pd}|	                    |	|
|| d| d           >||d<   n)# t          $ r}t          d|            Y d }~nd }~ww xY w|S )Nr   z.stui-vodlist li.index.stui-vodlist__thumbr   title.title adata-originalstylebackground-image:url\(["\']?(.*?)["\']?\)r   .text
   播放0次.score   0.0 分 | vod_idvod_namevod_picvod_remarkslistzhomeVideoContent error: r   r   r   r   findr   r   r   r    r   r#   r$   )r	   r&   videosurlr(   r)   r   r*   ar   r4   imgr,   
play_countscorer0   s                   r
   homeVideoContentzSpider.homeVideoContentC   s   #	2F9C**S//C sx ll455!KKMM  D		"899A66&>>DFF7OORtyy/D/D/I/I'/R/RE&&11DQVVG__C  12c99 "	*Es K K  1"'++a..C  ! !  "&7!3!3!8!8!:!:!JlJ IIh//4466C)EMM"&$)#&*/'@'@J'@'@	# #     $F6NN 	2 	2 	20Q0011111111	2 s   FF 
G)G  Gc           	         i }g }	 d| d| d}|                      |          }|ry|j        rqt          |j                  }	 |	d          }
|
                                D ]<}|                    d          }|                    d          }|                    d          p'|                    d                              d          }|                    d	          p|                    d
          }|r0d|v r,t          j        d|          }|r|                    d          }|r|s|                    d                                          pd}|                    d                                          pd}|	                    |||| d| d           >n)# t          $ r}t          d|            Y d }~nd }~ww xY w||d<   ||d<   d|d<   d|d<   d|d<   |S )Nz;https://www.mrcx2.yachts/cn/home/web/index.php/vod/type/id//page/.html.stui-vodlist lir3   r   r4   r5   r6   r7   r8   r9   r   r:   r;   r<   r=   r>   r?   zcategoryContent error: rD   pagei'  	pagecountZ   limiti?B totalrE   )r	   tidpgr%   r   r&   rG   rH   r(   r)   r   r*   rI   r   r4   rJ   r,   rK   rL   r0   s                       r
   categoryContentzSpider.categoryContentl   s@    	1dPSdd[]dddC**S//C sx ll.//!KKMM  D		"899A66&>>DFF7OORtyy/D/D/I/I'/R/RE&&11DQVVG__C  12c99 "	*Es K K  1"'++a..C  ! !  "&7!3!3!8!8!:!:!JlJ IIh//4466C)EMM"&$)#&*/'@'@J'@'@	# #      	1 	1 	1/A//00000000	1  vv"{w ws   FF! !
G+GGc                    i }|r|d         s|S 	 |d         }|                     d          rd|z   }nd|z   }|                     |          }|r|j        s|S |j        }t          |          }| |d                                          pddddddd} |d	                              d
          p |d	                              d          }	|	r3d|	v r/t          j        d|	          }
|
r|
                    d          |d<   |d         s9 |d                              d                               d          }	|	r|	|d<    |d                                          }|r||d<    |d                                          p9 |d                                          p |d                                          }|r||d<   d| |d<   |g|d<   n)# t          $ r}t          d|            Y d }~nd }~ww xY w|S )Nr   /https://www.mrcx2.yachtsr   r4    u   E佬通用视频)r@   rA   rB   rC   vod_contentvod_play_fromvod_play_urlr3   r6   r7   r8   r9   r   rB   rJ   c                     t          |                              d          o5dt          |                              d                                          v S )Nsrccover)r   r   lower)ithiss     r
   <lambda>z&Spider.detailContent.<locals>.<lambda>   sH    4e8L8L8xQX\^_c\d\d\i\ijo\p\p\v\v\x\xQx r   rb   z.stui-vodlist__detail .textrC   z.contentz.detailz.stui-content__detailr^   u   正片$r`   rD   zdetailContent error: )
startswithr   r   r   r   r   r   r    r%   r#   r$   )r	   arrayr&   aidplay_urlr(   htmlr)   vodrJ   r,   descriptioncontentr0   s                 r
   detailContentzSpider.detailContent   s    	E!H 	M8	/(C~~c"" I5;BSH**X&&C ch 8DT((C CLL--//52!!!3 " C #,--22?CCpssKaGbGbGgGghoGpGpC 4*c11	"=sCC 4%*[[^^C	N y> )c%jj''(x(xyy~~  @E  F  F )%(C	N #;<<AACCK 1%0M" c*oo**,,lI0C0C0E0ElMdIeIeIjIjIlIlG -%,M"
 #7H"6"6C!UF6NN 	/ 	/ 	/-!--........	/ s   AG E?G 
G>"G99G>1c           	         i }g }	 |s|S dt           j                            |           d| d}|                     |          }|ry|j        rqt          |j                  } |d          }	|	                                D ]<}
|
                    d          }|                    d          }|                    d          p'|
                    d                              d          }|                    d	          p|                    d
          }|r0d|v r,t          j
        d|          }|r|                    d          }|r|s|
                    d                                          pd}|
                    d                                          pd}|                    |||| d| d           >n)# t          $ r}t          d|            Y d }~nd }~ww xY w||d<   |S )Nz=https://www.mrcx2.yachts/cn/home/web/index.php/vod/search/wd/rO   rP   rQ   r3   r   r4   r5   r6   r7   r8   r9   r   r:   r;   r<   r=   r>   r?   zsearchContent error: rD   )urllibparsequoter   r   r   r   rF   r   r   r   r    r   r#   r$   )r	   keyquickrR   r&   rG   rH   r(   r)   r   r*   rI   r   r4   rJ   r,   rK   rL   r0   s                      r
   searchContentzSpider.searchContent   s:   #	/ |RXR^RdRdehRiRi||qu|||C**S//C sx ll.//!KKMM  D		"899A66&>>DFF7OORtyy/D/D/I/I'/R/RE&&11DQVVG__C  12c99 "	*Es K K  1"'++a..C  ! !  "&7!3!3!8!8!:!:!JlJ IIh//4466C)EMM"&$)#&*/'@'@J'@'@	# #      	/ 	/ 	/-!--........	/  vs   G F7G 
G(G##G(c                    i }	 |s|S |                     d          r|}n |                     d          rd|z   }nd|z   }d|d<   d|d<   ||d	<   d
dd|d<   n)# t          $ r}t          d|            Y d }~nd }~ww xY w|S )Nhttpr[   r\   r   r   rt   r]   playUrlrH   zsMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36zhttps://www.mrcx2.yachts/)z
User-AgentRefererheaderzplayerContent error: )rh   r#   r$   )r	   flagidvipFlagsr&   rk   r0   s          r
   playerContentzSpider.playerContent  s    	/  }}V$$ L ==%% L9B>HHFKH  F7O "F9$F5M T6   F8
  	/ 	/ 	/-!--........	/ s   A AA 
A>"A99A>c                     dS NFr   )r	   rH   s     r
   isVideoFormatzSpider.isVideoFormat#      ur   c                     dS r   r   r   s    r
   manualVideoCheckzSpider.manualVideoCheck&  r   r   c                     i S r   r   )r	   params     r
   
localProxyzSpider.localProxy)  s    	r   N)rq   )__name__
__module____qualname__r   r   r1   rM   rY   rp   rx   r   r   r   r   r   r   r
   r   r   	   s            1 1 1f' ' 'R* * *X? ? ?B) ) ) )V  >        r   r   )r   sysurllib.parsers   pyqueryr   r   pathr   base.spiderr   r   r   r
   <module>r      s    				 



     ! ! ! ! ! !          a a a a aV a a a a ar   