o
    h/                     @   sP   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 deZdS )    N)MD5z..)Spiderc                   @   s   e Zd Zd)ddZdd Zdd Zdd	 Zd
d ZdZddiZ	dd Z
dd Zdd Zdd Zd*ddZdd Zdd Zdd Zd d! Zd+d#d$Zd%d& Zd'd( Zd"S ),r    c                 C   s   |   | _|  \| _| _d S N)getuiduidgetuserinfotokencode)selfextend r   ,   /storage/emulated/0/lz/py/sy/爱瓜影视.pyinit   s   
zSpider.initc                 C      d S r   r   r   r   r   r   getName      zSpider.getNamec                 C   r   r   r   )r   urlr   r   r   isVideoFormat   r   zSpider.isVideoFormatc                 C   r   r   r   r   r   r   r   manualVideoCheck   r   zSpider.manualVideoCheckc                 C   r   r   r   r   r   r   r   destroy   r   zSpider.destroyzhttps://tvapi211.magicetech.com
User-Agentzokhttp/3.11.0c           	   	   C   s   | j | jd}| j| j d| || jd }i }g }i }|d D ]?}||d t|d d g |t|d < |d D ]"}t	|d	 ra|t|d  |d
 |d dd |d	 D d q?q#||d< ||d< |S )Nr	   authcodez4/hr_1_1_0/apptvapi/web/index.php/video/filter-headerjsonheadersdataZchannel_name
channel_id)	type_nametype_idZ
search_boxlistfieldlabelc                 S   s*   g | ]}|d  r|d t |d  dqS )valueZdisplay)nv)str).0jr   r   r   
<listcomp>6   s   * z&Spider.homeContent.<locals>.<listcomp>)keynamer%   classfilters)
r	   r
   posthostgetbodyr   r   appendr(   len)	r   filterbodyr   resultclassesr/   kir   r   r   homeContent$   s6   
zSpider.homeContentc                 C   sL   | j | jd}| j| j d| || jd }d| |d d d iS )Nr   z//hr_1_1_0/apptvapi/web/index.php/video/index-tvr   r"   r   r   Zbannerr	   r
   r0   r1   r2   r   r   getlist)r   r6   r   r   r   r   homeVideoContent<   s   zSpider.homeVideoContentc                 C   s   | j | j||dd|dd|dd|dd|dd|dd	
}| j| j d
| || jd }i }| |d d |d< ||d< d|d< d|d< d|d< |S )Narea0yearsorttagZhotstatusZ24)
r	   r   r   r?   rA   rB   rC   rD   page_num	page_sizez3/hr_1_1_0/apptvapi/web/index.php/video/filter-videor   r   r"   pagei'  	pagecountZ   limiti?B total)	r	   r
   getr0   r1   r2   r   r   r=   )r   tidpgr5   r   r6   r   r7   r   r   r   categoryContentB   s    zSpider.categoryContentc                 C   s  |d  d}| j| j|d |d d}| j| j d| || jd }i }|d d D ])}|d	 }|D ] }|d
 |vrDg ||d
 < ||d
  |d  d|d   q6q.g g }}	|	 D ]\}
}|	|
 |d
| qad
|	d
|d}d|giS )Nr   @   )r	   r   r   video_idz-/hr_1_1_0/apptvapi/web/index.php/video/detailr   r   ZchaptersZ
sourcelistZsource_nametitle$
source_url#z$$$)vod_play_fromvod_play_urlr"   )splitr	   r
   r0   r1   r2   r   r   r3   itemsjoin)r   idsr6   r   Zvdatar9   r:   r*   plistnamesr,   r%   vodr   r   r   detailContentP   s,   &


zSpider.detailContent1c                 C   sL   | j | j||d}| j| j d| || jd }d| |d d iS )N)r	   r   keywordrE   z5/hr_1_1_0/apptvapi/web/index.php/search/letter-resultr   r"   r   r<   )r   r,   quickrN   r6   r   r   r   r   searchContente   s   zSpider.searchContentc                 C   s   d|ddddd}|S )Nr   zDDalvik/2.1.0 (Linux; U; Android 11; M2012K10C Build/RP1A.200720.011)zhttps://aigua.tvzhttps://aigua.tv/)r   OriginReferer)parser   headerr   )r   flagidvipFlagsr7   r   r   r   playerContentk   s   	zSpider.playerContentc                 C   r   r   r   )r   paramr   r   r   
localProxyy   r   zSpider.localProxyc                 C   s:   | j | j d|  | jd }|d }|d |d fS )Nz0/hr_1_1_0/apptvapi/web/index.php/user/auth-loginr   r   Z
user_tokenr   )r0   r1   r2   r   r   )r   r   r'   r   r   r   r   |   s   zSpider.getuserinfoc                 C   s*   |  d}|stt }| d| |S )Nr   )getCacher(   uuidZuuid4setCache)r   r   r   r   r   r      s
   
zSpider.getuidNc                 C   s   |d u ri }dddddddt tt d| jd
}|| tt| d	d
 d}ddd | D }| 	d| d
 }|d|i |S )N4z1.1.0ra   3ZtvZ11zcom.gzsptv.gztvvideo)
productverdebugZappIdZosTypeZmarketChannelZsysVertimeZpackageNameZudidc                 S   s   | d S )Nr   r   )itemr   r   r   <lambda>   s    z Spider.getbody.<locals>.<lambda>)r,   &c                 s   s*    | ]\}}|d kr| d| V  qdS )r   =Nr   )r)   r9   r'   r   r   r   	<genexpr>   s   ( z!Spider.getbody.<locals>.<genexpr>ZjI7POOBbmiUZ0lmiZ D9ShYdN51ksWptpkTu11yenAJu7Zu3cRsign)r(   intrw   r   updatedictsortedrZ   r[   md5upper)r   Z	json_dataparamsZsorted_jsontextZmd5_hashr   r   r   r2      s   
zSpider.getbodyc                 C   s    t  }||d | S )Nzutf-8)r   newr   encode	hexdigest)r   r   hr   r   r   r      s   z
Spider.md5c              
   C   sp   g }|D ]1}t |dtkr|d }||d d|d |d|d|d|dd	 q|S )
Nvideor   rP   rR   Z
video_namecoverscoreri   )vod_idvod_namevod_picvod_yearvod_remarks)typerL   r   r3   )r   r   videosr:   r   r   r   r=      s   
zSpider.getlist)r   )ra   r   )__name__
__module____qualname__r   r   r   r   r   r1   r   r;   r>   rO   r`   rd   rl   rn   r   r   r2   r   r=   r   r   r   r   r      s(    


r   )	sysrw   rp   Crypto.Hashr   pathr3   base.spiderr   r   r   r   r   <module>   s   