o
    JhL                     @   sj   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r3	 dS 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      dS )NZ
Aidianying selfr   r   &   /storage/emulated/0/lz/py/sy/金牌.pygetName      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   r	   zSpider.getDependencec                 C      d S 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   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   年份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   )r5   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}z4t
j| j	 d|d}| d }|D ]}	||	d |	d |	d	 |	d
 dkrW|	d n|	d d q@W n t
jyy }
 zg dddW  Y d }
~
S d }
~
ww |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_listr=   rA   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r| dnd}| dr$| dnd}| dr0| dnd}	| dr<| dnd}
| drH| dnd}g }| j| jd}z\tj | j d	| | | | |	 |
 | d
| |d}td|j}|sg dddW S |d dd}t	|}|D ]}|
|d |d |d |d dkr|d n|d d qW n tjy } zg |dW  Y d }~S d }~ww |dddS )Nr   r   r5   r"   r#   r3   r4   )r;   r<   z/vod/show/id/z/page/r?   z\\"list\\":(.*?)}}}]r   rN   z\""rB   rC   rD   rE   rF   rG   rH   rI   rO   msg)r\   r   r
   r[   refindalltextreplacer]   loadsr^   r_   )r   cidpager7   extr=   _typeZ_Spider__class_area_yearZ_langZ_byr`   rc   rd   ZaaZbbre   rf   rg   r   r   r   categoryContent>  sF   ,
	zSpider.categoryContentc                 C   sZ  |d }g }t tt d }d| d| }t|  }t|  }| j| j	||d}z[t
j| j	 d| |d}	|	 d }|d	 }
g }|
D ]}|d
 }|d t |d  }||d |  qO||d ||d |d |d |d |d |d |d dd|d W n t
jy } zg |dW  Y d }~S d }~ww |dddS )Nr   r9   id=(&key=cb808529bae6b6be45ecfab29a4889bc&t=r:   z(/api/mw-movie/anonymous/video/detail?id=r?   rA   episodeListr    /nid$ZtypeNamerC   rH   vodYearvodAreavodActorvodDirector
vodContentu   老僧酿酒#)r   rJ   rK   rM   vod_yearvod_area	vod_actorvod_directorvod_contentvod_play_fromvod_play_urlrj   rN   )rS   rT   rU   rV   rW   rX   rY   rZ   r   r
   r[   r\   r]   r^   joinr_   )r   dididsr`   r=   rA   ra   rb   rc   rd   	play_listr   rf   r    r   rg   r   r   r   detailContenta  sL   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ri|d n|d d qRW n t
jy } zg |dW  Y d }~S d }~ww |dddS )Nr9   zkeyword=z	&pageNum=z4&pageSize=12&key=cb808529bae6b6be45ecfab29a4889bc&t=r:   z3/api/mw-movie/anonymous/video/searchByWord?keyword=z&pageSize=12r?   rA   resultrO   rB   rC   rD   rE   rF   rG   rH   rI   rj   r   rN   rR   )r   r   quickrr   wdr`   r=   rA   ra   rb   rc   responsere   rf   rg   r   r   r   searchContent  s<   	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 n tjy } z||dddW  Y d }~S d }~ww ||dddS )Nr{   r   rF   r9   rx   z&nid=ry   r:   r;   z0/api/mw-movie/anonymous/v2/video/episode/url?id=r?   rA   rO   r   )r   headerrP   rQ   )r   splitrS   rT   rU   rV   rW   rX   rY   rZ   r   r
   r[   r\   r]   r_   )r   flagpidvipFlagsr   play_urlrA   _idZ_nidr=   ra   rb   rc   h2rd   rg   r   r   r   playerContent  s4   
zSpider.playerContentc                 C   r   r   r   )r   paramsr   r   r   
localProxy  r	   zSpider.localProxyc                 C   r   )Nu   正在Destroyr   r   r   r   r   destroy  r	   zSpider.destroyN)r   )__name__
__module____qualname__r   r   r   r   r   r8   rh   rw   r   r   r   r   r   r   r   r   r   r      s     z##
+r   __main__)sysrV   rU   r[   rl   r]   pathr^   base.spiderr   r   r   r   r   r   <module>   s      A