U
    [qiC.                     @   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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://cn.bzmanga.com/)z
User-AgentRefererr   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g}i }dddddddddddgdg|d< ddddddddg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/d0dd1d2dd3d4dd5d6dd7d8dd9d:dd;d<dg}dd=|dg|d< ||d>S )?Nu   最新上架new)	type_nametype_idu   全部漫画allu   地区regionu   进度statusu   题材typevalu   国漫cn)nvu   日本Zjpu   欧美en)keynamevalueu	   连载中serialu	   已完结Zpubu   都市dushiu   冒险Zmouxianu   热血Zrexieu   爱情Zaiqingu   恋爱Zlianaiu   耽美Zdanmeiu   武侠Zwuxiau   格斗Zgedouu   科幻Zkehuanu   魔幻Zmohuanu   侦探Zzhentanu   推理Ztuiliu   玄幻Zxuanhuanu   日常Zrichangu   生活Zshenghuou   搞笑Zgaoxiaou   校园Zxiaoyuanu   奇幻Zqihuanu   类型)classfiltersr   )r   filterclassesr&   typesr   r   r   homeContent#   s<    *"         zSpider.homeContentc                 C   s   |  ddd i S )Nr   1)categoryContentr   r   r   r   homeVideoContent?   s    zSpider.homeVideoContentc              
   C   s  |dkr |dkrdnd| }nr|dkr4d| }n^| dd}|sl|d	krRd
}n|dkr`d}n|dkrld}|}|dkr|d}d| d| d| }ztj ||  d}t|jd}	|	d}
g }|
D ]}|d}|sq|d }|d}d}|r| dd}d|kr|dd }|d}|r2|j nd}|	|||dd q||ddd d!W S  t
k
r } zd"g i W Y S d }~X Y nX d S )#Nr   r+   z https://cn.bzmanga.com/list/new/z&https://cn.bzmanga.com/list/new/?page=r   z%https://cn.bzmanga.com/classify?page=r   r	   r   r   r   r#   r   r$   statez https://cn.bzmanga.com/classify?=z&page=headershtml.parser.comics-carda.comics-card__posterhrefamp-imgsrc.w=r   .comics-card__titlevod_idvod_namevod_picvod_remarksi'  $   i?B )listpage	pagecountlimittotalr@   )getrequestsr   r   textselect
select_onesplitstripappend	Exception)r   tidpgr'   r   r   r   Z	param_keyrsoupitemsvideositemlink_tagvid	cover_tagcover	title_tagr!   er   r   r   r,   B   s`        

 



zSpider.categoryContentc                 C   s:  |d }| dsd| n|}ztj||  d}t|jd}|dr\|dj nd}|drz|dj nd	}|d
r|d
j nd	}d	}	|d}
|
r|
dd	dd }	|	d}g }|D ]}|d}|s|j
dkr|}nq|j }|dd	}d	}td|}|rN|d}|d}d| d| d}n:| drfd| }n"d|kr~|dd}n
d| }|| d|  qt|}t|}|  d|}d|}d|||	dd	d	|d	d	|d | d!| d!| d!| d"giW S  tk
r4 } zdg i W Y S d }~X Y nX d S )#Nr   httpzhttps://cn.bzmanga.comr0   r2   z.comics-detail__titleu   未知z.comics-detail__authorr	   z.comics-detail__descr6   r7   r8   z.comics-chapters__itemar5   z"comic_id=(\d+).*chapter_slot=(\d+)      z%https://cn.dzmanga.com/comic/chapter/z/0_z.html/zhttps://cn.dzmanga.comzcn.bzmanga.comzcn.dzmanga.comzhttps://cn.dzmanga.com/$#r@   u   漫画u;   正序(Mange)$$$正序(Pics)$$$倒序(Mange)$$$倒序(Pics)z$$$)r;   r<   r=   r   vod_yearvod_arear>   	vod_actorvod_directorvod_contentvod_play_fromvod_play_url)
startswithrF   rE   r   r   rG   rI   rK   rJ   rH   r!   researchgroupreplacerL   r@   reversejoinrM   )r   idsrV   r   rP   rQ   r!   authordescrX   rW   Zchapter_itemsZraw_url_listrT   a_tagZchapter_nameZraw_hrefZreal_chapter_urlmatchZc_idZc_slotZ	desc_listZasc_listZstr_descZstr_ascrZ   r   r   r   detailContenty   sp    



 






zSpider.detailContentr+   c                 C   s   d| }zt j||  d}t|jd}|d}g }|D ]t}	|	d}
|
sPq<|
d }|	d}d}|r|d	dd
d }|	d}|r|j nd}|	|||dd q<d|iW S    dg i Y S X d S )Nz https://cn.bzmanga.com/search?q=r0   r2   r3   r4   r5   r6   r	   r7   r8   r   r9   r:   r@   )
rF   rE   r   r   rG   rH   rI   rJ   rK   rL   )r   r    quickrO   r   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   r!   r   r   r   searchContent   s4    


 



zSpider.searchContentc              
      s  |}|   }||d< zJtj||dd}|j}t|d}g }	|d}
|
sT|d}
|
r|
d}|sp|
d}|D ]Z}|d	p|d
}|rtd|kstd|kstd|kstd|krqt|drd| }|	| qtt	|	dk rd}t
||}|D ]"}||	krd|kr
q|	| qg   fdd|	D  d }d|krDd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   
   )r1   timeoutr2   z.comic-containbodyr6   imgr7   zdata-srcZnext_chapterZprev_chaptericonlogoz//zhttps:r^   zJ(https?://[^"\'\s]+static[^"\'\s]+\.(?:jpg|png|webp|jpeg)(?:\?[^"\'\s]*)?)rX   c                    s   g | ]}| kr  |qS r   )rL   ).0iZunique_imgsr   r   
<listcomp>  s      z(Spider.playerContent.<locals>.<listcomp>z&&ZPicsZpicsZmanger   r	   z://)parseplayUrlr   header)r   rF   rE   rG   r   rI   rH   ri   rL   lenrj   findallro   rM   )r   flagidvipFlagsr   r1   rP   htmlrQ   Zimg_list	containerZimgsr{   r7   patternmatchesmZ
novel_dataprotocolrZ   r   r   r   playerContent   s\    




 

 
zSpider.playerContentc                 C   s   d S r
   r   )r   paramr   r   r   
localProxy*  s    zSpider.localProxyN)r	   )r+   )__name__
__module____qualname__r   r   r   r   r   r   r*   r-   r,   ru   rw   r   r   r   r   r   r   r      s   
7K
Gr   )
jsonsysrj   rF   bs4r   pathrL   base.spiderr   r   r   r   r   <module>   s   