o
    h                     @   s@   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)PyQueryz..)Spiderc                   @   s   e Zd Zd+ddZdd Zdd Zdd	 Zd
d ZdddddddZ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-d&d'Zd+d(d)Zd*S ).r    c                 C      d S N )selfextendr   r   (   /storage/emulated/0/lz/py/sy/4K影视.pyinit      zSpider.initc                 C   r   r   r   r   r   r   r
   getName   r   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.destroyztext/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7zzh-CN,zh;q=0.9,en;q=0.8z@"Not/A)Brand";v="8", "Chromium";v="134", "Google Chrome";v="134""macOS"ZdocumentuMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36)acceptzaccept-languagez	sec-ch-uasec-ch-ua-platformzsec-fetch-dest
user-agentzhttps://4k-av.comc                 C   sl   |   }i }g }t|d d d D ]}|| |ddd q||d< | |dd|d	< |S )
Nz#category ul liahref)	type_nametype_idclassz#MainContent_scrollul ul liz.poster spanlist)getpqr   itemsappendtextattrgetlist)r   filterdataresultclasseskr   r   r
   homeContent%   s   
zSpider.homeContentc                 C   r   r   r   r   r   r   r
   homeVideoContent2   r   zSpider.homeVideoContentc                 C   sP   |  | d| d}i }| |d|d< ||d< d|d< d|d	< d
|d< |S )Nzpage-z.htmlz'#MainContent_newestlist .virow .NTMitemr   pagei'  	pagecountZ   limiti?B totalr    r%   )r   tidpgr&   r	   r'   r(   r   r   r
   categoryContent5   s   zSpider.categoryContentc                 C   s   |  |d }|d}|d |d |d |d ddd	}|d
}|rUdd t| dd  D }|d|dd  d|d   d||d< n|d  d|d  |d< d|giS )Nr   z
#videoinfoz#MainContent_tags.tags az&#MainContent_videodetail.videodetail az#MainContent_titleh12 h2zp.cnlineZ4KAVr   )r   vod_yearvod_remarksvod_contentvod_play_fromvod_play_urlz
#rtlist lic                 S   s,   g | ]}|d    d|dd qS )span$r   r   )r#   r$   ).0ir   r   r
   
<listcomp>L   s   , z(Spider.detailContent.<locals>.<listcomp>   r;   r<   #r:   z#tophead h1r   )r    r#   r   r!   inserteqjoin)r   idsr'   vvodZvlistcr   r   r
   detailContent?   s    



(
zSpider.detailContent1c                 C   s"   |  d| }d| |diS )Nz/s?k=r   z3#MainContent_newestlist .virow.search .NTMitem.Mainr2   )r   keyquickr4   r'   r   r   r
   searchContentS   s   zSpider.searchContentc           	   
   C   s   z|  |}d|dd}}|stdW n ty3 } zd| j | }}W Y d }~nd }~ww | j| j dddd	}|||d
S )Nr   z#MainContent_videowindow sourcesrcu   未找到播放地址r@   /r   r   )originrefererr   r   )parser   header)r    r$   	Exceptionhost)	r   flagidvipFlagsr'   pr   eheadersr   r   r
   playerContentW   s   
 
zSpider.playerContentc                 C   r   r   r   )r   paramr   r   r
   
localProxyf   r   zSpider.localProxyc                 C   r   r   r   r   r   r   r
   liveContenti   r   zSpider.liveContent!   .resyear label[title="分辨率"]c              	   C   sr   g }|  D ]0}|d d}||dd|d |ddt|dkr,|d	 nd
|| d q|S )Nz	.title h2 z.title ar   r   z.poster imgrN   r@   r   r   )vod_idvod_namevod_picr7   r6   )r!   r#   splitr"   r$   len)r   r'   yvideosr>   nsr   r   r
   r%   l   s   

zSpider.getlistc              
   C   sl   | j  | }| j|| jdj}zt|W S  ty5 } ztt|  t|dW  Y d }~S d }~ww )N)r[   zutf-8)	rU   fetchr[   r#   pqrT   printstrencode)r   pathr   r'   rZ   r   r   r
   r    y   s   
zSpider.getpqN)r   )rJ   )r`   )__name__
__module____qualname__r   r   r   r   r   r[   rU   r+   r,   r5   rI   rM   r\   r^   r_   r%   r    r   r   r   r
   r   	   s0    
	


r   )sysZpyqueryr   rk   ro   r"   base.spiderr   r   r   r   r
   <module>   s
   