U
    Œépi°/  ã                   @   sX   d dl Z d dlZd dlZ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)ÚBeautifulSoupz..)ÚSpiderc                   @   sx   e Zd Zdd„ Zd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S ) r   c                 C   s   dS )Nu   ç»…å£«æ¼«ç”»© ©Úselfr   r   õ,   /storage/emulated/0/lz/py/sy/ç»…å£«æ¼«ç”».pyÚgetName   s    zSpider.getNameÚ c                 C   s   d S ©Nr   )r   Úextendr   r   r   Úinit   s    zSpider.initc                 C   s   dS ©NFr   )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 S r
   r   r   r   r   r   Údestroy   s    zSpider.destroyc                 C   s   ddddœS )NzoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36zhttps://www.wn06.ru/zzh-CN,zh;q=0.9)z
User-AgentÚRefererzAccept-Languager   r   r   r   r   Ú	getHeader   s    ýzSpider.getHeaderc              	   C   sŽ   dddœdddœdddœdd	dœd
ddœdddœdddœg}dd	dœdddœg}dd|dœ}i }|D ]}d|d krd|g||d < qd||dœS )Nu   æœˆæ¦œÚ
rank_month)Ú	type_nameÚtype_idu   å‘¨æ¦œÚ	rank_weeku   æ—¥æ¦œÚrank_dayu	   åŒäººå¿—Ú1u   éŸ©æ¼«Ú20u	   å•è¡Œæœ¬Ú9u   æ‚å¿—&çŸ­ç¯‡Ú10u   åˆ›å»ºæ—¶é—´)ÚnÚvu   é»˜è®¤r	   Úsortu   æŽ’åº)ÚkeyÚnameÚvalueZrankr   )ÚclassÚfiltersr   )r   ÚfilterÚclassesZsort_valuesZfilter_configr$   Úcr   r   r   ÚhomeContent#   s(    ùþýzSpider.homeContentc                 C   s   |   ddd i ¡S )Nr   r   )ÚcategoryContentr   r   r   r   ÚhomeVideoContent@   s    zSpider.homeVideoContentc              
   C   sz  |dkrd|› d}n>|dkr,d|› d}n(|dkrBd|› d}nd|› d	|› d
}zðt j||  ¡ d}t|jdƒ}| d¡}g }	|D ]¬}
|
 d¡}|r |d nd}|r²|j ¡ nd}|
 d¡}|rÌ|d nd}| d¡râd| }|
 d¡}d}|r|j}t	 
d|¡}|r| d¡› d}|	 ||||dœ¡ q†|	|ddddœW S  tk
rt } zdg i W Y ¢S d }~X Y nX d S )Nr   z1https://www.wn06.ru/albums-favorite_ranking-page-z-type-month.htmlr   z-type-week.htmlr   z-type-day.htmlz&https://www.wn06.ru/albums-index-page-z-cate-ú.html©Úheadersúhtml.parserú.gallary_wrap ul liú.info .title aÚhrefr	   údiv:nth-of-type(1) a imgÚsrcú//úhttps:ú.info .info_colõ   (\d+)å¼µåœ–ç‰‡é   õ   é¡µ©Úvod_idÚvod_nameÚvod_picÚvod_remarksi'  é   i?B )ÚlistÚpageÚ	pagecountÚlimitÚtotalr@   )ÚrequestsÚgetr   r   ÚtextÚselectÚ
select_oneÚstripÚ
startswithÚreÚsearchÚgroupÚappendÚ	Exception)r   ÚtidÚpgr%   r   r   ÚrÚsoupÚitemsÚvideosÚitemÚlink_tagÚvidr!   Úimg_tagÚcoverÚinfo_colÚremarkrG   ÚmatchÚer   r   r   r)   C   sR    




ü
ûzSpider.categoryContentc                 C   s–  |d }|  d¡sd|› n|}z>tj||  ¡ d}d|_t|jdƒ}d}| d¡p^| d	¡}|rn|j ¡ }|dkrŽ| d
¡}|rŽ|j ¡ }|dkr¬| d¡}	|	r¬|	d }d}
| d¡pÂ| d¡}|râ|d }
|
  d¡râd|
 }
d}| d¡pø| d¡}|r
|j ¡ }| 	d¡}d}d}t
 d|¡}|r8| d¡}|D ]b}| dd¡}|snt
 d|¡}|rn| d¡}t
 d|¡}|r<t| d¡ƒ}||kr<|}q<g }|dkrÀ| d|› ¡ n`td|d ƒD ]P}|rd|› d|› d}| d|› d|› ¡ n|dkrÎ| d|› ¡ qÎd  |¡}d!|||
d"ddd#|› d$dd|d%|› d&|› d'œgiW S  tk
r } zd!g i W Y ¢S d }~X Y nX d S )(Nr   Úhttpzhttps://www.wn06.rur,   zutf-8r.   u   æœªçŸ¥Úh2Úh1z.titlezmeta[property="og:title"]Úcontentr	   z.uwthumb imgz
.cover imgr3   r4   r5   z	.uwconn pz.info pz.paginator ar8   z	aid-(\d+)r1   z
page-(\d+)u   ç¬¬1é¡µ$z&https://www.wn06.ru/photos-index-page-z-aid-r+   u   ç¬¬u   é¡µ$ú#r@   u   æ¼«ç”»u   å…±r9   u   é˜…è¯»(Mange)$$$é˜…è¯»(Pics)z$$$)r;   r<   r=   r   Úvod_yearÚvod_arear>   Ú	vod_actorÚvod_directorÚvod_contentÚvod_play_fromÚvod_play_url)rK   rE   rF   r   Úencodingr   rG   rI   rJ   rH   rL   rM   rN   ÚintrO   ÚrangeÚjoinrP   )r   ÚidsrY   r   rS   rT   r!   Zh_tagÚ	title_divZ
meta_titler[   Ú	cover_imgÚdescZdesc_pZ	paginatorZmax_pageÚaidZ	aid_matchÚar1   Zaid_mZpage_mÚpZvod_play_url_listÚiZpage_urlZplay_url_strr_   r   r   r   ÚdetailContentv   s    

 

 
  


 



 

ôÿzSpider.detailContentr   c                 C   s  d|› d|› }zät j||  ¡ d}t|jdƒ}| d¡}g }|D ]¨}	|	 d¡}
|
r\|
d nd}|
rn|
j ¡ nd}|	 d	¡}|rˆ|d
 nd}| d¡ržd| }|	 d¡}d}|rÖ|j}t	 
d|¡}|rÖ| d¡› d}| ||||dœ¡ qBd|iW S    dg i Y S X d S )Nzhttps://www.wn06.ru/search/?q=z(&f=_all&s=create_time_DESC&syn=yes&page=r,   r.   r/   r0   r1   r	   r2   r3   r4   r5   r6   r7   r8   r9   r:   r@   )rE   rF   r   r   rG   rH   rI   rJ   rK   rL   rM   rN   rO   )r   r    ÚquickrR   r   rS   rT   rU   rV   rW   rX   rY   r!   rZ   r[   r\   r]   rG   r^   r   r   r   ÚsearchContentÝ   s<    




ü

zSpider.searchContentc              
   C   sè  |}|   ¡ }||d< z–tj||dd}|j}t|dƒ}g }	d}
| d¡}|D ] }| d¡}| d¡}|rN|rN|j ¡ }| d	d¡}|sŠqNd
}d|kr®| d¡d  d¡d }|
sÜd|krÜ| 	d¡}|dkrÜ|d |d … }
|	 
|||dœ¡ qNz|	jdd„ d W n   Y nX g }|	D ]\}|
r@|
› |d › d|d › }n|d }| d¡r\d| }d|krjq| 
|¡ qd |¡}d|krdnd}dd|› d |› dd!œW S  tk
râ } zddddd!œ W Y ¢S d }~X Y nX d S )"Nr   é
   )r-   Útimeoutr.   r	   z.gallary_wrap.tb ul lizspan.name.tbÚimgr3   ZjpgÚ.éÿÿÿÿú?r   Zwnimg1ú/r8   )r!   ÚextÚraw_srcc                 S   s   | d   ¡ rt| d ƒS dS )Nr!   r   )Úisdigitrm   )Úxr   r   r   Ú<lambda>/  ó    z&Spider.playerContent.<locals>.<lambda>)r    r!   r‚   rƒ   r4   r5   ztu.petatt.cnz&&ÚPicsÚpicsÚmangez://)ÚparseÚplayUrlr   Úheader)r   rE   rF   rG   r   rH   rI   rJ   ÚsplitÚrfindrO   r   rK   ro   rP   )r   ÚflagÚidÚvipFlagsr   r-   rS   ÚhtmlrT   Zimg_info_listZ
prefix_urlZlisÚliZ	name_spanrZ   Úseqr3   r‚   Z
last_slashZfinal_imagesrW   Úfull_urlÚ
novel_dataÚprotocolr_   r   r   r   ÚplayerContent  sr    




 
ý

 
üüzSpider.playerContentc                 C   s   d S r
   r   )r   Úparamr   r   r   Ú
localProxyT  s    zSpider.localProxyN)r	   )r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r(   r*   r)   rx   rz   r™   r›   r   r   r   r   r      s   
3g
$Sr   )
ÚjsonÚsysrL   rE   Úbs4r   ÚpathrO   Úbase.spiderr   r   r   r   r   Ú<module>   s   