
    YiV                         d dl Z d dlZd dlZd dlmZ e j
                  j                  d       d dlmZ  G d de      Zy)    N)MD5z..)Spiderc                       e Zd ZddZd Zd Zd Zd ZdZddiZ	d	 Z
d
 Zd Zd ZddZd Zd Zd Zd ZddZd Zd Zy)r   c                     | j                         | _        | j                         \  | _        | _        | j                  d      S )NF)getuiduidgetuserinfotokencodehomeContent)selfextends     ,   /storage/emulated/0/lz/py/sy/爱瓜影视.pyinitzSpider.init   s7    ;;= $ 0 0 2
DI&&    c                      y N r   s    r   getNamezSpider.getName       r   c                      y r   r   )r   urls     r   isVideoFormatzSpider.isVideoFormat   r   r   c                      y r   r   r   s    r   manualVideoCheckzSpider.manualVideoCheck   r   r   c                      y r   r   r   s    r   destroyzSpider.destroy   r   r   zhttps://tvapi211.magicetech.com
User-Agentzokhttp/3.11.0c                 F   | j                   | j                  d}| j                  | j                   d| j	                  |      | j
                        j                         }i }g }i }|d   D ]  }|j                  |d   t        |d         d       g |t        |d         <   |d   D ]d  }t        |d	         s|t        |d            j                  |d
   |d   |d	   D 	cg c]  }	|	d   s	|	d   t        |	d         d c}	d       f  ||d<   ||d<   |S c c}	w )Nr
   authcodez4/hr_1_1_0/apptvapi/web/index.php/video/filter-headerjsonheadersdatachannel_name
channel_id)	type_nametype_id
search_boxlistfieldlabelvaluedisplay)nv)keynamer/   classfilters)
r
   r   posthostgetbodyr%   r$   appendstrlen)
r   filterbodyr&   resultclassesr6   kijs
             r   r   zSpider.homeContent%   sI   ;yyDII;&Z[bfbnbnosbt!%  //3tv 	fANN~.q/  -/GC,()|_qy>C,0188 z !'
UVW]U^!mU^PQbcdkbl)3qz?"KU^!m:  %  "w#y	 "ns   $
D/Dc                     | j                   | j                  d}| j                  | j                   d| j	                  |      | j
                        j                         }d| j                  |d   d   d         iS )Nr!   z//hr_1_1_0/apptvapi/web/index.php/video/index-tvr#   r,   r&   r   bannerr
   r   r7   r8   r9   r%   r$   getlist)r   r>   r&   s      r   homeVideoContentzSpider.homeVideoContent=   sv    ;yyDII;&UV]a]i]ijn]o!%  //3tv 	T&\!_X%>?@@r   c                    | j                   | j                  ||j                  dd      |j                  dd      |j                  dd      |j                  dd      |j                  dd      |dd	
}| j                  | j                   d
| j                  |      | j                        j                         }i }| j                  |d   d         |d<   ||d<   d|d<   d|d<   d|d<   |S )Narea0yearsorttaghotstatus24)
r
   r"   r(   rJ   rL   rM   rN   rP   page_num	page_sizez3/hr_1_1_0/apptvapi/web/index.php/video/filter-videor#   r&   r,   pagei'  	pagecountZ   limiti?B total)	r
   r   getr7   r8   r9   r%   r$   rG   )r   tidpgr=   r   r>   r&   r?   s           r   categoryContentzSpider.categoryContentC   s    #W]WaWabhjmWn

63/FC9PY_YcYcdikpYq **Xs3RVX yyDII;&YZaeamamnras!%  //3tv 	d6l6&:;vv"{w wr   c                 ~   |d   j                  d      }| j                  | j                  |d   |d   d}| j                  | j                   d| j                  |      | j                        j                         }i }|d   d   D ]?  }|d	   }|D ]3  }|d
   |vrg ||d
   <   ||d
      j                  |d    d|d           5 A g g }	}|j                         D ]6  \  }
}|	j                  |
       |j                  dj                  |             8 dj                  |	      dj                  |      d}d|giS )Nr   @   )r
   r"   r(   video_idz-/hr_1_1_0/apptvapi/web/index.php/video/detailr#   r&   chapters
sourcelistsource_nametitle$
source_url#z$$$)vod_play_fromvod_play_urlr,   )splitr
   r   r7   r8   r9   r%   r$   r:   itemsjoin)r   idsr>   r&   vdatarA   rB   rC   plistnamesr3   r/   vods                r   detailContentzSpider.detailContentQ   sV   !fll3#a&^abc^deyyDII;&ST[_[g[ghl[m!%  //3tv 	fj)A,A]#50B%-8H2Ia&'..!G*Qq>O/PQ  *
 2u++-JCLLLL%) ( #ZZ.!JJu-
 r   c                     | j                   | j                  ||d}| j                  | j                   d| j	                  |      | j
                        j                         }d| j                  |d   d         iS )N)r
   r"   keywordrR   z5/hr_1_1_0/apptvapi/web/index.php/search/letter-resultr#   r,   r&   rF   )r   r3   quickr[   r>   r&   s         r   searchContentzSpider.searchContentf   sw    sXZ[yyDII;&[\cgcocoptcu!%  //3tv 	T&\&%9:;;r   c                     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vipFlagsr?   s        r   playerContentzSpider.playerContentl   s&     d,.
 r   c                      y r   r   )r   params     r   
localProxyzSpider.localProxyz   r   r   c                     | j                  | j                   d| j                         | j                        j	                         }|d   }|d   |d   fS )Nz0/hr_1_1_0/apptvapi/web/index.php/user/auth-loginr#   r&   
user_tokenr"   )r7   r8   r9   r%   r$   )r   r&   r2   s      r   r	   zSpider.getuserinfo}   s\    yyDII;&VW^b^j^j^l!%  //3tv 	L*--r   c                     | j                  d      }|s/t        t        j                               }| j	                  d|       |S )Nr   )getCacher;   uuiduuid4setCache)r   r   s     r   r   zSpider.getuid   s6    mmE"djjl#CMM%%
r   Nc                    |i }dddddddt        t        t        j                                     d| j                  d
}|j	                  |       t        t        |j                         d	 
            }dj                  d |j                         D              }| j                  d| d      j                         }|j	                  d|i       |S )N4z1.1.013tv11zcom.gzsptv.gztvvideo)
productverdebugappIdosTypemarketChannelsysVertimepackageNameudidc                     | d   S )Nr   r   )items    r   <lambda>z Spider.getbody.<locals>.<lambda>   s    d1gr   )r3   &c              3   <   K   | ]  \  }}|d k7  s| d|   yw) =Nr   ).0rA   r2   s      r   	<genexpr>z!Spider.getbody.<locals>.<genexpr>   s'     N/Btq!a2g1#Qqc
/Bs   jI7POOBbmiUZ0lmi D9ShYdN51ksWptpkTu11yenAJu7Zu3cRsign)r;   intr   r   updatedictsortedrk   rl   md5upper)r   	json_dataparamssorted_jsontextmd5_hashs         r   r9   zSpider.getbody   s    "i 3X[nr #c$))+.>*?Pf((& 	 6)//"39MNOxxN{/@/@/BNN88.tf4TUV\\^&(+,r   c                     t        j                         }|j                  |j                  d             |j	                         S )Nzutf-8)r   newr   encode	hexdigest)r   r   hs      r   r   z
Spider.md5   s.    GGI	W%&{{}r   c           
      P   g }|D ]  }t        |j                  d            t        k(  r|d   }|j                  |j                  d       d|j                  d       |j                  d      |j                  d      |j                  d      |j                  d      d	        |S )
Nvideor(   r^   r`   
video_namecoverscorer|   )vod_idvod_namevod_picvod_yearvod_remarks)typerY   r   r:   )r   r&   videosrB   s       r   rG   zSpider.getlist   s    AAEE'N#t+7QMMUU<011553D2EFEE,/55>EE'N uuV}   r   )r   )r   r   )__name__
__module____qualname__r   r   r   r   r   r8   r%   r   rH   r\   rr   rv   r   r   r	   r   r9   r   rG   r   r   r   r   r      si     -D_-G0A*<.

r   r   )	sysr   r   Crypto.Hashr   pathr:   base.spiderr   r   r   r   <module>r      s4   
       YV Yr   