U
    JhL                     @   sd   d dl Z d dlZd dlZd dlZd dlZd dlZe jd d dlm	Z	 G dd de	Z	e
dkr`dS )    Nz..)Spiderc                   @   sv   e Zd Zdd Zdd Zdd Zdd Z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d ZdS )r   c                 C   s   dS )NZ
Aidianying selfr   r   &   /storage/emulated/0/lz/py/sy/金牌.pygetName   s    zSpider.getNamec                 C   s   d| _ d| _d| _d S )Nzhttps://m.sdzhgt.com/zoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36z`https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-720p.mp4)home_urlua	error_url)r   extendr   r   r   init   s    zSpider.initc                 C   s   g S Nr   r   r   r   r   getDependence   s    zSpider.getDependencec                 C   s   d S r   r   )r   urlr   r   r   isVideoFormat   s    zSpider.isVideoFormatc                 C   s   d S r   r   r   r   r   r   manualVideoCheck   s    zSpider.manualVideoCheckc                 C   s  ddddddddddd	dgd
dddddddddddddddddddddddddddddd dd!d"dd#d$dd%d&dd'd(dd)d*dd+d,dd-d.dgd/d0d1dddd2d3dd4d5dd6d7dd8d9dd:d;dd<d=dd>d?dd@dAdd-dBdg
d/dCdDddddEdFddGdHddIdJddKdLddMdNddOdPddQdRddSdTddUdVddWdXddYdZdd[d\dd]d^dd_d`ddadbddcdddgd/dedfddddgdhddidjddkdlddmdnddodpdd-dqdgd/drdsdtduddvdwddxdydgd/gd
dddddzd{dd|d}dd~ddddddddgd/ddddddddd%ddddddddddddddddddddddddddgd/d0d1dddd2d3dd4d5dd6d7dd:d;dd<d=dd8d9dd@dAdd-dBdg	d/dCdddddEdFddGdHddIdJddKdLddMdNddOdPddQdRddSdTddUdVddWdXddYdZdd[d\dd]d^dd_d`ddadbdgd/dedfdddddddidjddkdlddmdnddodpddddd-dqdgd/drdsddudddddvdwddxdydgd/gd
ddddddddddddddddgd/ddddddddddddddgd/d0d1dddd2d3dd4d5dd6d7dd:d;dd<d=dd8d9dd-dBdgd/dCdddddEdFddGdHddIdJddKdLddMdNdgd/dedfddddgdhddidjddkdlddmdnddodpdd-dqdgd/drdsddudddddvdwddxdydgd/gd
dddddddddddddgd/ddddddddddddddd'ddddddddd%dddddg	d/d0d1dddd2d3dd:d;dd8d9dd-dBdgd/dCdddddEdFddGdHddIdJddKdLddMdNddOdPddQdRddSdTddUdVddWdXddYdZdd[d\dd]d^dd_d`ddadbdgd/dedfddddgdhddidjddodpdd-dqdgd/drdsddudddddvdwddxdydgd/gddS )N1u   电影)type_id	type_name2u	   电视剧3u   综艺4u   动漫typeu   类型u   全部 )nvu   喜剧z/type/22u   动作z/type/23u   科幻z/type/30u   爱情z/type/26u   悬疑z/type/27u   奇幻z/type/87u   剧情z/type/37u   恐怖z/type/36u   犯罪z/type/35u   动画z/type/33u   惊悚z/type/34u   战争z/type/25u   冒险z/type/31u   灾难z/type/81u   伦理z/type/83u   其他z/type/43)keynamevalueareau   地区u   中国大陆u   /area/中国大陆u   中国香港u   /area/中国香港u   中国台湾u   /area/中国台湾u   美国u   /area/美国u   日本u   /area/日本u   韩国u   /area/韩国u   印度u   /area/印度u   泰国u   /area/泰国u   /area/其他yearu   年份Z2024z
/year/20242023z
/year/20232022z
/year/20222021z
/year/20212020z
/year/20202019z
/year/20192018z
/year/20182017z
/year/20172016z
/year/20162015z
/year/20152014z
/year/20142013z
/year/20132012z
/year/20122011z
/year/20112010z
/year/2010z	2009~2000z/year/2009~2000langu   语言u   国语u   /lang/国语u   英语u   /lang/英语u   粤语u   /lang/粤语u   韩语u   /lang/韩语u   日语u   /lang/日语u   /lang/其他byu   排序u   上映时间z/sortType/1/sortOrder/0u   人气高低z/sortType/3/sortOrder/0u   评分高低z/sortType/4/sortOrder/0u	   国产剧z/type/14u	   欧美剧z/type/15u	   港台剧z/type/16u	   日韩剧z/type/62u	   其他剧z/type/68classu   古装u   /class/古装u   /class/战争u   /class/喜剧u   家庭u   /class/家庭u   /class/犯罪u   /class/动作u   /class/奇幻u   /class/剧情u   历史u   /class/历史u   短片u   /class/短片u   时间u	   普通话u   /lang/普通话u   泰语u   /lang/泰语u   最近更新u   添加时间z/sortType/2/sortOrder/0u   国产综艺z/type/69u   港台综艺z/type/70u   日韩综艺z/type/72u   欧美综艺z/type/73u	   真人秀u   /class/真人秀u   音乐u   /class/音乐u	   脱口秀u   /class/脱口秀u   国产动漫z/type/75u   日韩动漫z/type/76u   欧美动漫z/type/77u   /class/科幻u   热血u   /class/热血u   /class/冒险u   运动u   /class/运动u   儿童u   /class/儿童)r   r   r   r   )r1   filtersr   )r   filterr   r   r   homeContent"   sB   	C
E
	1 zSpider.homeContentc              
   C   s  g }t tt d }d| }t|  }t|  }| j| j	||d}zht
j| j	 d|d}| d }|D ]<}	||	d |	d |	d	 |	d
 dkr|	d n|	d d qW n4 t
jk
r }
 zg ddd W Y S d }
~
X Y nX |dddS )N  z'key=cb808529bae6b6be45ecfab29a4889bc&t=
User-Agentreferertsignz&/api/mw-movie/anonymous/home/hotSearchheadersdatavodIdvodNamevodPictypeId1   
vodVersion
vodRemarksvod_idvod_namevod_picvod_remarksr   listparsejxstrinttimehashlibmd5encode	hexdigestsha1r	   r   requestsgetjsonappendRequestException)r   
video_listr9   r=   data_md5	data_sha1hres	data_listier   r   r   homeVideoContent  s<    
  
zSpider.homeVideoContentc                 C   s  |}| dr| dnd}| dr0| dnd}| drH| dnd}| dr`| dnd}	| drx| dnd}
| dr| dnd}g }| j| jd}ztj | j d	| | | | |	 |
 | d
| |d}td|j}|sg dddW S |d dd}t	|}|D ]@}|
|d |d |d |d dkrP|d n|d d q W n4 tjk
r } zg |d W Y S d }~X Y nX |dddS )Nr   r   r1   r   r    r/   r0   )r7   r8   z/vod/show/id/z/page/r;   z\\"list\\":(.*?)}}}]r   rJ   z\""r>   r?   r@   rA   rB   rC   rD   rE   rK   msg)rX   r	   r   rW   refindalltextreplacerY   loadsrZ   r[   )r   cidpager3   extr9   _typeZ_Spider__classZ_area_yearZ_langZ_byr\   r_   r`   Zaabbra   rb   rc   r   r   r   categoryContent>  s@    ,
 zSpider.categoryContentc                 C   s^  |d }g }t tt d }d| d| }t|  }t|  }| j| j	||d}zt
j| j	 d| |d}	|	 d }|d	 }
g }|
D ]2}|d
 }|d t |d  }||d |  q||d ||d |d |d |d |d |d |d dd|d W n4 t
jk
rP } zg |d W Y S d }~X Y nX |dddS )Nr   r5   id=(&key=cb808529bae6b6be45ecfab29a4889bc&t=r6   z(/api/mw-movie/anonymous/video/detail?id=r;   r=   ZepisodeListr   /nid$ZtypeNamer?   rD   ZvodYearZvodAreaZvodActorZvodDirectorZ
vodContentu   老僧酿酒#)r   rF   rG   rI   vod_yearvod_area	vod_actorvod_directorvod_contentvod_play_fromvod_play_urlrf   rJ   )rO   rP   rQ   rR   rS   rT   rU   rV   r	   r   rW   rX   rY   rZ   joinr[   )r   dididsr\   r9   r=   r]   r^   r_   r`   	play_listr   rb   r   r   rc   r   r   r   detailContenta  sJ      zSpider.detailContentr   c              
   C   s&  |}g }t tt d }d| d| d| }t|  }t|  }	| j| j	||	d}
z|t
j| j	 d| d| d|
d}| d	 d
 d }|D ]<}||d |d |d |d dkr|d n|d d qW n4 t
jk
r } zg |d W Y S d }~X Y nX |dddS )Nr5   zkeyword=z	&pageNum=z4&pageSize=12&key=cb808529bae6b6be45ecfab29a4889bc&t=r6   z3/api/mw-movie/anonymous/video/searchByWord?keyword=z&pageSize=12r;   r=   resultrK   r>   r?   r@   rA   rB   rC   rD   rE   rf   r   rJ   rN   )r   r   quickrn   wdr\   r9   r=   r]   r^   r_   responsera   rb   rc   r   r   r   searchContent  s8     
 zSpider.searchContentc              
   C   s  |}| j }|d}|d }|d }ttt d }	d| d| d|	 }t|  }
t	|
  }| j
| j|	|d}d	| j
i}z<tj| j d
| d| |d}| d d d d }W n8 tjk
r } z||ddd W Y S d }~X Y nX ||dddS )Nrv   r   rB   r5   rt   z&nid=ru   r6   r7   z0/api/mw-movie/anonymous/v2/video/episode/url?id=r;   r=   rK   r   )r   headerrL   rM   )r
   splitrO   rP   rQ   rR   rS   rT   rU   rV   r	   r   rW   rX   rY   r[   )r   flagpidvipFlagsr   play_urlr=   Z_idZ_nidr9   r]   r^   r_   h2r`   rc   r   r   r   playerContent  s4    
  $zSpider.playerContentc                 C   s   d S r   r   )r   paramsr   r   r   
localProxy  s    zSpider.localProxyc                 C   s   dS )Nu   正在Destroyr   r   r   r   r   destroy  s    zSpider.destroyN)r   )__name__
__module____qualname__r   r   r   r   r   r4   rd   rs   r   r   r   r   r   r   r   r   r   r      s    z##+
r   __main__)sysrR   rQ   rW   rh   rY   pathrZ   base.spiderr   r   r   r   r   r   <module>   s      A