o
    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      dS )Nu   绅士漫画 selfr   r   ,   /storage/emulated/0/lz/py/sy/绅士漫画.pygetName      zSpider.getName c                 C      d S Nr   )r   extendr   r   r   init   r
   zSpider.initc                 C   r   NFr   )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.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 vrA|g||d < q2||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   sn  |dkrd| d}n|dkrd| d}n|dkr!d| d}n	d| d	| d
}zvt j||  d}t|jd}|d}g }	|D ]T}
|
d}|rP|d nd}|rY|j nd}|
d}|rf|d nd}|drqd| }|
d}d}|r|j}t	
d|}|r|d d}|	||||d qC|	|ddddW S  ty } z
dg iW  Y d }~S d }~ww )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totalrC   )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remarkrJ   matcher   r   r   r,   C   sV   





zSpider.categoryContentc                 C   s|  |d }| dsd| n|}ztj||  d}d|_t|jd}d}|dp/|d	}|r7|j }|dkrG|d
}|rG|j }|dkrV|d}	|	rV|	d }d}
|dpa|d}|rq|d }
|
 drqd|
 }
d}|dp||d}|r|j }|	d}d}d}t
d|}|r|d}|D ],}|dd}|st
d|}|r|d}t
d|}|rt|d}||kr|}qg }|dkr|d|  n.td|d D ]&}|rd| d| d}|d| d|  q|dkr|d|  qd |}d!|||
d"ddd#| d$dd|d%| d&| d'giW S  ty= } z
d!g iW  Y d }~S d }~ww )(Nr   httpzhttps://www.wn06.rur/   zutf-8r1   u   未知h2h1z.titlezmeta[property="og:title"]contentr   z.uwthumb imgz
.cover imgr6   r7   r8   z	.uwconn pz.info pz.paginator ar;   z	aid-(\d+)r4   z
page-(\d+)u   第1页$z&https://www.wn06.ru/photos-index-page-z-aid-r.   u   第u   页$#rC   u   漫画u   共r<   u   阅读(Mange)$$$阅读(Pics)z$$$)r>   r?   r@   r   vod_yearvod_arearA   	vod_actorvod_directorvod_contentvod_play_fromvod_play_url)rN   rH   rI   r   encodingr   rJ   rL   rM   rK   rO   rP   rQ   intrR   rangejoinrS   )r   idsr\   r   rV   rW   r$   Zh_tag	title_divZ
meta_titler^   	cover_imgdescZdesc_pZ	paginatormax_pageaidZ	aid_matchar4   Zaid_mZpage_mpZvod_play_url_listiZpage_urlZplay_url_strrb   r   r   r   detailContentv   s   






zSpider.detailContentr   c                 C   s  d| d| }zrt j||  d}t|jd}|d}g }|D ]T}	|	d}
|
r.|
d nd}|
r7|
j nd}|	d	}|rD|d
 nd}|drOd| }|	d}d}|rk|j}t	
d|}|rk|d d}|||||d q!d|iW S    dg i Y S )Nzhttps://www.wn06.ru/search/?q=z(&f=_all&s=create_time_DESC&syn=yes&page=r/   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   rC   )rH   rI   r   r   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   )r   r#   quickrU   r   rV   rW   rX   rY   rZ   r[   r\   r$   r]   r^   r_   r`   rJ   ra   r   r   r   searchContent   s<   






zSpider.searchContentc              
   C   s  |}|   }||d< ztj||dd}|j}t|d}g }	d}
|d}|D ]P}|d}|d}|rv|rv|j }|d	d}|sDq&d
}d|v rV|dd dd }|
smd|v rm|	d}|dkrm|d |d  }
|	
|||d q&z
|	jdd d W n   Y g }|	D ])}|
r|
 |d  d|d  }n|d }|drd| }d|v rq|
| qd|}d|v rdnd}dd| d | dd!W S  ty } zddddd!W  Y d }~S d }~ww )"Nr   
   )r0   timeoutr1   r   z.gallary_wrap.tb ul lizspan.name.tbimgr6   Zjpg.?r   Zwnimg1/r;   )r$   extraw_srcc                 S   s   | d   rt| d S dS )Nr$   r   )isdigitrp   )xr   r   r   <lambda>/  s    z&Spider.playerContent.<locals>.<lambda>)r#   r$   r   r   r7   r8   ztu.petatt.cnz&&Picspicsmangez://)parseplayUrlr   header)r   rH   rI   rJ   r   rK   rL   rM   splitrfindrR   r"   rN   rr   rS   )r   flagidvipFlagsr   r0   rV   htmlrW   Zimg_info_listZ
prefix_urllisliZ	name_spanr]   seqr6   r   Z
last_slashZfinal_imagesrZ   full_url
novel_dataprotocolrb   r   r   r   playerContent  st   








zSpider.playerContentc                 C   r   r   r   )r   paramr   r   r   
localProxyT  r
   zSpider.localProxyN)r   )r   )__name__
__module____qualname__r	   r   r   r   r   r   r+   r-   r,   r|   r~   r   r   r   r   r   r   r      s    
3
g$Sr   )
jsonsysrO   rH   bs4r   pathrR   base.spiderr   r   r   r   r   <module>   s   