
    P&h                         d dl Z d dlZd dlmZmZ d dlZd dlZd dlmZm	Z	 d dl
mZ d dlmZ d dlmZmZ ej                            d           d dlmZ  G d	 d
e          ZdS )    N)	b64decode	b64encode)urlparse
urlunparse)AES)MD5)unpadpadz..)Spiderc                       e Zd ZddZd Zd Zd Zd ZdZdZ	ee d	d
dZ
d Zd 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S ) r    c                     d S N )selfextends     )   /storage/emulated/0/纯福利/PY1/DSYS.pyinitzSpider.init           c                     d S r   r   r   s    r   getNamezSpider.getName   r   r   c                     d S r   r   r   urls     r   isVideoFormatzSpider.isVideoFormat   r   r   c                     d S r   r   r   s    r   manualVideoCheckzSpider.manualVideoCheck   r   r   c                     d S r   r   r   s    r   destroyzSpider.destroy   r   r   zhttps://api.230110.xyzzhttps://cdn.230110.xyz/zMozilla/5.0 (iPhone; CPU iPhone OS 17_0_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.8 Mobile/15E148 Safari/604.1)originrefererz
user-agentc                 6    d}d|                      |d          iS )Na   9XSPkyFMrOOG34JSg//ZosMof45cyBo9hwZMZ5rvI6Yz/ZZlXWIf8/644OzwW+FNIOdJ61R/Lxjy1tqN+ZzokxtiVzb8LjYAkh6GFudwAUXFt9yS1ZjAxC3tDKrQsJQLk3nym0s00DBBzLBntRBDFz7nbba+OOBuQOZpL3CESGL42l4opdoViQLhO/dIizY1kIOk2NxxpDC9Z751gPl1ctHWuLWhuLG/QWgNWi/iHScjKrMHJKcC9GQHst/4Q3dgZ03eQIIVB6jvoV1XXoBCz6fjM/jM3BXpzSttT4Stglwy93gWuNWuZiKypHK2Q0lO10oM0ceRW2a0fPGId+rNYMRO3cR/C0ZueD4cmTAVOuxVr9ZZSP8/nhD0bHyAPONXtchIDJb0O/kdFHk2KTJfQ5q4fHOyzezczc4iQDV/R0S8cGZKM14MF+wytA/iljfj43H0UYqq5pM+MCUGRTdYEtuxCp0+A+DiOhNZwY/Km/TgBoGZQWGbpljJ2LAVnWhxX+ickLH7zuR/FeIwP/R8zOuR+8C8UlT9eHTqtvfNzaGdFxt316atHy8TNjRO7J5a177mqsHs3ziG0toDDzLDCbhRUjFgVA3ktahhXiWaaCo/ZGSJAA8TDO5DYqnJ0JDaX0ILPj8QB5zxrHYmRE8PboIr3RBAjz1sREbaHfjrUjoh29ePhlolLV00EvgoxP5knaqt5Ws/sq5IG57qKCAPgqXzblPLHToJGBtukKhLp8jbGJrkb6PVn4/jysks0NGEclassF)aes)r   filterdatas      r   homeContentzSpider.homeContent+   s#     Pe,,--r   c                     d S r   r   r   s    r   homeVideoContentzSpider.homeVideoContent/   r   r   c                 4   dd| gt          |          dz
  dz  ddgddd}i }d	|v r0|                     |                    d
          d         d|          S |                     |                     |                    |d<   ||d<   d|d<   d|d<   d|d<   |S )Nr   z
type_id =       video_time:desczh-cn/videos/searchqr(   offsetlimitsortlangrouteskey__Tlistpagei'  	pagecountZ   r6   i?B total)intsearchContentsplitgetlgetdata)r   tidpgr(   r   r)   results          r   categoryContentzSpider.categoryContent2   s    $6$6$6#7CGGAIQSCS^`k|j}  GN  Yi  j  jc>>!3!3CIIcNN24Fb!Q!QQ4<<#5#566vv"{w wr   c           	      b   dd|d          gddd}|                      |          d         }t          t          | j                                      t          |                    d                    j                            }d	|                    d
           d| d}|                    d          rsg }|d                             d          }|D ];}|                    dt          j
        d| |d          z   dz   |z   dz              <d                    |          |d<   d|giS )Nr.   zvideo_id = r   r1   r2   )r6   r(   r8   r9   	video_urlpathdsysavvideo_duration$)vod_play_fromvod_play_url	video_tag,z[a=cr:r:   )idnamez/]z[/a] vod_contentr=   )rF   r   r   phost_replacegetrN   rD   appendjsondumpsjoin)	r   idsr)   respurlvodclisttagsks	            r   detailContentzSpider.detailContent=   sN   "8A"8"8!9Qabbll4  #,,558CGGKDXDX;Y;Y;^5__``%"ww'788AA4AA
 
 77; 	1E[!'',,D h hX
+!++q3Q3Q(R(RRUYY\]]`ffgggg!$%Cu~r   1c                     |g t          |          dz
  dz  ddgddd}|                     |                     |                    |dS )Nr.   r/   r0   r1   r2   r3   )r=   r>   )rB   rE   rF   )r   keyquickrH   r)   s        r   rC   zSpider.searchContentM   s^    rCGGAI+;BO`Naip  zJ  K  Kyyd!3!344B???r   c                     |                     d          r-|                                  d|                     |           d}d|| j        dS )Nz.mpdz&url=z	&type=mpdr   )parser   header)endswithgetProxyUrle64headers)r   flagrV   vipFlagss       r   playerContentzSpider.playerContentQ   sU    ;;v 	C""$$BB488B<<BBBBB>>>r   c                    |                     d          r|d         dk    r|                     |                     d                    }|                    d          }|d          d|d          d}|                                  d                    dd	          }|                     || j        
          j        }|                    dd| |                               dd| |           }dd|gS |                     d|                     d           d          }t          
                    |          }t          |                              d                              dd                              dd                              dd          }	| j         d|                     d           d|	 d}ddd d|igS )Ntypempdr   r"   z&path=&z&amp;)rs   zinitialization="zmedia="   zapplication/octet-streamz%AjPuom638LmWfWyeM5YueKuJ9PuWLdRn/mpd/rN   
1767196800utf-8=r   +-r;   z/mpd/z?sign=z&expire=1767196800i.  z
text/plainLocation)r\   d64rD   rq   replacefetchrs   textmd5bytesfromhexr   decoderZ   )
r   paramr   ra   rV   xpur)   hsign
bytes_datasigns
             r   
localProxyzSpider.localProxyV   s   99V 	<v!5!5((599U++,,C		#Cb'&&CG&&&B%%''///77WEEC::c4<:88=D<< 24Ps4PB4P4PQQYYZcdwnqdwsudwdwxxD2488((`599VCTCT```aaEu--JZ((//88@@RHHPPQTUXYYaabefijjD:UUEIIf$5$5UUTUUUCT:c*:;;r   c                     d S r   r   r   s     r   liveContentzSpider.liveContentf   r   r   Tc                    d}d}t          j        |t           j        |          }|rv|                    t	          t          j        |                              d          t           j                            }t          |          
                    d          }|S t          |                    t          |                    t           j                  }t          j        |
                    d                    S )Ns   OPQT123412FRANMEs   MRDCQP12QPM13412r   )r   newMODE_CBCencryptr
   r^   r_   encode
block_sizer   r   r	   decryptr   loads)	r   r   	operationrk   ivcipherct_bytesctpts	            r   r'   z
Spider.aesi   s    ! clB// 	2~~c$*T*:*:*A*A'*J*JCN&[&[\\H8$$++G44BIv~~ioo66GGB:bii00111r   c                     	 |                     d          }t          |          }|                    d          S # t          $ r*}t	          dt          |                      Y d }~dS d }~ww xY w)Nr   u   Base64编码错误: r   )r   r   r   	Exceptionprintstr)r   r   
text_bytesencoded_byteses        r   rr   z
Spider.e64u   s    	W--J%j11M ''000 	 	 	1Q1122222222	   8; 
A/A**A/c                     	 |                     d          }t          |          }|                    d          S # t          $ r*}t	          dt          |                      Y d }~dS d }~ww xY w)Nr   u   Base64解码错误: r   )r   r   r   r   r   r   )r   encoded_textr   decoded_bytesr   s        r   r   z
Spider.d64~   s    	(//88M%m44M ''000 	 	 	1Q1122222222	r   c                     t          j                    }|                    |                    d                     |                                S )Nr   )r   r   updater   	hexdigest)r   r   hs      r   r   z
Spider.md5   s9    GII	W%%&&&{{}}r   c           
         g }|D ]}|                     d          }|rKd|v rGt          t          | j                                      t          |          j                            }|                    |                     d          |                     d          ||                     d          ddd	d
           |S )Nvideo_coverhttprM   video_idvideo_titlerP   rectgHzG?)rx   ratio)vod_idvod_namevod_picvod_remarksstyle)r\   r   r   rZ   r[   rN   r]   )r   r)   videosiimgs        r   rE   zSpider.getl   s     		 		A%%&&Cmv}}:htz6J6J6S6SYabeYfYfYk6S6l6l+m+mSMM%%
++EE-00 uu%566"(488      r   c                    t          t          j                              }t          t	          j                              }|                     |                     t          j        |                     | | d          ||| 	                    |          d}| 
                    | j         d|| j                                                  }| 	                    |d         d          }|S )N AjPuom638LmWfWyeM5YueKuJ9PuWLdRn)r   nonce	timestampr)   z/v1)r^   rs   r)   F)r   uuiduuid4rB   timer   rr   r^   r_   r'   posthostrs   )r   r)   uidt	json_datarb   s         r   rF   zSpider.getdata   s    $*,,	HHD)9)9 : :dCddddeeHHTNN	
 
	 ii49)))	4<iPPUUWWhhs6{E**
r   N)r   )ri   )T)__name__
__module____qualname__r   r   r   r   r!   r   rZ   rs   r*   r,   rJ   rh   rC   rv   r   r   r'   rr   r   r   rE   rF   r   r   r   r   r      sp                   $D$E ::: b G. . .  	 	 	   @ @ @ @? ? ?
< < <   
2 
2 
2 
2      
      r   r   )r   r   base64r   r   r^   sysurllib.parser   r   Crypto.Cipherr   Crypto.Hashr   Crypto.Util.Paddingr	   r
   rN   r]   base.spiderr   r   r   r   <module>r      s      ' ' ' ' ' ' ' '  



 - - - - - - - -             * * * * * * * *          U U U U UV U U U U Ur   