
    Ĺ2i                         d dl Z e j                            d           d dlmZ d dlZd dlZd dlZd dl	m
Z
 d dlmZ  G d de          ZdS )    Nz..)Spider)etree)urljoinc                   Z    e Zd Zd ZddZd Zd Zd ZddZd	 Z	d
 Z
d Zd Zd Zd ZdS )r   c                     dS )Nu   菠萝七区 selfs    1   /storage/emulated/0/纯福利/py1/菠萝七区.pygetNamezSpider.getName   s    ~     c                 n    d| _         dd| j         d| _        |                     d| j                     d S )Nzhttps://618608.xyzzsMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36z
keep-alive)z
User-Agent
ConnectionRefereru   爬虫初始化: )hostheaderslog)r
   extends     r   initzSpider.init   sJ    (	 P&y
 

 	0TY0011111r   c                 T    d dD             }||                      | j                  dS )Nc                 $    g | ]\  }}d | |dS )z618608.xyz_)type_id	type_namer   ).0ins      r   
<listcomp>z&Spider.homeContent.<locals>.<listcomp>   s:     
 
 
?Cq!)a))::
 
 
r   ))37u   国产AV)43u   探花AV)40u   网黄UP主)49u   绿帽淫妻)44u   国产传媒)41u	   福利姬)39u   字幕)45u	   水果派)42u   主播直播)38u   欧美)66FC2)46u   性爱教学)48u	   三及片)47u   动漫)classlist)_fetch_videosr   )r
   filterclassess      r   homeContentzSpider.homeContent   sC    
 
H
 
 
 !$*<*<TY*G*GHHHr   c                 
    dg iS )Nr.   r   r	   s    r   homeVideoContentzSpider.homeVideoContent%   s    }r   c                     d|v r|                     d          d         n|}| j         d| d}|dk    r|                    dd| d          }|                     |          t	          |          ddd	d
S )N_   z/index.php/vod/type/id/.html1/page/i     i'  r/   page	pagecountlimittotal)splitr   replacer0   int)r
   tidpgr1   r   r   urls          r   categoryContentzSpider.categoryContent(   s    '*czz#))C..##sAA7AAA99++g'9'9'9'9::C**3//Rs]_jnooor   r:   c                     | j          dt          j                            |           d| d}|                     |          t          |          ddddS )Nz/index.php/vod/type/id/36/wd/r;   r9   
   r<   d   r=   )r   urllibparsequoter0   rD   )r
   keyquickrF   rG   s        r   searchContentzSpider.searchContent/   s]    aa9K9KC9P9PaaXZaaa**3//Rr\^ilmmmr   c                    	 |d         }t           j                            t           j                            |          j                  }|                    ddg          d         }|sdg iS |                     |          }|                    ddg          d         }|r*|                    d          st          | j	        |          }d|||dd| |d	giS #  dg icY S xY w)
Nr   vr   r/   bhttpu   嗷大屌牛逼u   沐大鸡儿无敌$)vod_idvod_namevod_picvod_play_fromvod_play_urlvod_content)
rL   rM   parse_qsurlparsequeryget_extract_title
startswithr   r   )r
   idslong_urlparams	video_urltitlepics          r   detailContentzSpider.detailContent3   s   	 1vH\**6<+@+@+J+J+PQQF

3--a0I1fb\1''11E**S2$''*CP3>>&11PC9P9P3"#!2DeZcDeDe$    
	 B<s   A+C .A,C C#c                 (    d|v sd|v rdd|dnd|dS )N.m3u8v=r   r   )rM   playUrlrG   r8   )rM   rG   r   )r
   flagidvipFlagss       r   playerContentzSpider.playerContentG   s2    9@B$RT**r"555denpZqZqqr   c           	         	 |                      |          }|r|j        dk    rg S g }t          j        |j                  }|g S |                    d          D ]}|                    dd          }t          | j        |          }d|v rd|v r| 	                    |          }t          j                            t          j                            |          j                  }	|	                    ddg          d         }
|
s!|                    d	          }|r|d         nd}
|
r*|
                    d
          st          | j        |
          }
|                    |||
ddd           |S #  g cY S xY w)N   z
//a[@href]hrefr   rk   rj   rT   r   z.//img/@srcrU   )rV   rW   rX   vod_remarksvod_year)fetchstatus_coder   HTMLtextxpathr_   r   r   r`   rL   rM   r\   r]   r^   ra   append)r
   rG   rspvideoshtmllinkrs   full_urlrf   rd   rg   srcs               r   r0   zSpider._fetch_videosJ   s   	**S//C;#/S00)F:ch''D|BY

<00  xx++"49d338##8(;(; //99E#\226<3H3H3R3R3XYYF **S2$//2C 4"jj77(+3c!ffX3>>&#9#9XTWAXAX3MM"*#')r# #    M	IIIs   #E1 E1 D+E1 1E7c                     	 t          j        d|          }|rQt          j                            |                    d                    }d                    d |D                       S n#  Y nxY wdS )Nz/html/[^/]+/([^/]+)\.htmlr8   r   c                 L    g | ]!}t          t          |          d z            "S )   )chrord)r   cs     r   r   z)Spider._extract_title.<locals>.<listcomp>n   s*    ???aCFFSL 1 1???r   u   未知标题)researchrL   rM   unquotegroupjoin)r
   rG   matchraws       r   r`   zSpider._extract_titlei   sz    	I:C@@E Al**5;;q>>::ww??3???@@@A 	~s   A'A+ +A/c                 *    t          d|            d S )Nu   [苹果视频] )print)r
   msgs     r   r   z
Spider.logr   s    %%%&&&&&r   c                 N    	 t          j        || j        dd          S #  Y d S xY w)NrJ   F)r   timeoutverify)requestsr_   r   )r
   rG   s     r   rv   zSpider.fetchu   s2    	<T\2eTTTT	44s    $N)r   )r:   )__name__
__module____qualname__r   r   r3   r5   rH   rQ   rh   rp   r0   r`   r   rv   r   r   r   r   r      s          2 2 2 2	I 	I 	I  p p pn n n n     (r r r  >  ' ' '    r   r   )syspathr{   base.spiderr   urllib.parserL   r   r   lxmlr   r   r   r   r   <module>r      s    


               				                   m m m m mV m m m m mr   