Ë
    š„j)  ã                   óÌ   — d dl Z d dlZddlmZ ddlmZmZmZmZm	Z	 ddl
mZ  G d„ de«      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    Né   )ÚInfoExtractoré   )Ú
clean_htmlÚint_or_noneÚjoin_nonemptyÚstr_or_noneÚurl_or_none)Útraverse_objc                   ó:   — e Zd ZdZdZdZdZdZdZdZ	d„ Z
d„ Zd„ Zy)ÚTapTapBaseIEz`V=1&PN=WebApp&LANG=zh_CN&VN_CODE=102&LOC=CN&PLT=PC&DS=Android&UID={uuid}&OS=Windows&OSV=10&DT=PCz:https://www.taptap.cn/webapiv2/video-resource/v1/multi-getNÚidc                 óœ   — i |¥d| j                   j                  t        j                  «       ¬«      i¥} | j                  ||fd|i|¤Žd   S )NzX-UA)ÚuuidÚqueryÚdata)Ú_X_UAÚformatr   Úuuid4Ú_download_json)ÚselfÚurlÚvideo_idr   Úkwargss        úN/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/taptap.pyÚ_get_apizTapTapBaseIE._get_api   sO   € ØG�5ÐG˜& $§*¡*×"3Ñ"3¼¿¹»Ð"3Ó"FÑGˆØ"ˆt×"Ñ" 3¨ÑH¸ÐHÀÑHÈÑPÐPó    c                 ó¢  — | j                  | j                  |d|i¬«      d   d   }t        |ddt        ht        f«      }| j                  ||d¬«      }|D ]I  }t        j                  d	|j                  d
d«      «      sŒ*t        |j                  d«      dd¬«      |d<   ŒK t        |«      |dœt        |ddt        hfddt        hfdœd¬«      ¥S )NÚ	video_ids©r   Úlistr   Úplay_url)Úurl_h265r   F)Úfatalz^(hev|hvc|hvt)\dÚvcodecÚ Ú	format_idÚh265Ú_)Údelim)r   ÚformatsÚinfoÚdurationÚ	thumbnail)Úoriginal_urlr   )r-   r.   )Úget_all)r   Ú
_VIDEO_APIr   r
   ÚanyÚ_extract_m3u8_formatsÚreÚsearchÚgetr   Ústrr   )r   r   Ú
video_dataÚ	video_urlr+   Úfmts         r   Ú_extract_videozTapTapBaseIE._extract_video   sñ   € Ø—]‘] 4§?¡?°HÀ[ÐRZÐD[�]Ó\Ð]cÑdÐefÑgˆ
ô ! ¨jÐ:MÔP[È}Ô^aÐ-bÓcˆ	Ø×,Ñ,¨Y¸ÈÐ,ÓNˆØò 	ZˆCÜ�y‰yÐ,¨c¯g©g°hÀÓ.CÕDÜ#0°·±¸Ó1EÀvÐUXÔ#Y��KÒ ð	Zô
 �h“-Øñ
ô ˜:Ø# Z´+°Ð?Ø)Ð+BÄ[ÀMÐRñ)ð ôð
ð 	
r   c                 ó†  — | j                  |«      }| j                  |i}t        | j                  | j                  ||¬«      | j
                  «      }t        || j                  «      }t        t        || j                  «      «      D �cg c]  }i |¥| j                  |«      ¥‘Œ }} | j                  |fi |¤d|i¤ŽS c c}w )Nr    r   )Ú	_match_idÚ_INFO_QUERY_KEYr   r   Ú	_INFO_APIÚ
_DATA_PATHÚ
_META_PATHÚsetÚ_ID_PATHr;   Úplaylist_result)r   r   r   r   r   ÚmetainfoÚid_Úentriess           r   Ú_real_extractzTapTapBaseIE._real_extract/   sÉ   € Ø—>‘> #Ó&ˆØ×%Ñ% xÐ0ˆäØ�M‰M˜$Ÿ.™.¨(¸%ˆMÓ@À$Ç/Á/óSˆô    d§o¡oÓ6ˆô œ d¨D¯M©MÓ:Ó;ö=ð ð
Øð
à×!Ñ! #Ó&ò
ð =ˆð =ð
 $ˆt×#Ñ# GÑE¨xÑE¸HÒEÐEùò=s   Â	B>)Ú__name__Ú
__module__Ú__qualname__r   r1   r?   r>   r@   rC   rA   r   r;   rH   © r   r   r   r      s6   „ Øn€EØM€JØ€IØ€OØ€JØ€HØ€JòQò
ó&Fr   r   c                   ó  — e Zd ZdZdZdZddehfdehfddd	ehfddd
ehe	hfddehfddehfdœfZ
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œigdd i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œigdd id!œd,d-d.d/d0d1d2d3d2d4d5dœ	dd id6œgZy7)8ÚTapTapMomentIEz+https?://www\.taptap\.cn/moment/(?P<id>\d+)z/https://www.taptap.cn/webapiv2/moment/v3/detail)ÚmomentÚtopic©)Úvideos.Ú	pin_videor   rO   Úcreated_timeÚedited_timeÚauthorÚuserÚnamer   rP   ÚtitleÚsummary©Ú	timestampÚmodified_timestampÚuploaderÚuploader_idrY   Údescriptionz/https://www.taptap.cn/moment/194618230982052443Ú194618230982052443uP   ã€Šå´©å��3ã€‹å¼€æ”¾ä¸–ç•Œã€Œå�Žå´©å��ä¹¦ã€�æ–°ç¯‡ç«  äºŽæ·¹æ²¡ä¹‹åœ°ä»°è§†è¾°æ˜Ÿz$md5:cf66f7819d413641b8b28c8543f4ecdaiZ…\aÚ20211005u   ä¹Œé…±Ú532896©	r   rY   r`   r\   Úupload_dater]   Úmodified_dater^   r_   r   Ú	info_dictÚ2202584Úmp4éB   úre:^https?://.*\.(png|jpg)©r   ÚextrY   r`   r-   r\   re   r]   rf   r^   r_   r.   Úskip_downloadÚm3u8©r   rg   Úplaylist_countÚplaylistÚparamsz/https://www.taptap.cn/moment/521630629209573493Ú521630629209573493uA   ã€Šå´©å��ï¼šæ˜Ÿç©¹é“�é�“ã€‹é»„æ³‰è§’è‰²PVâ€”â€”ã€Œä½ çš„é¢œè‰²ã€�z$md5:2c81245da864428c904d53ae4ad2182bi@HfÚ20240326u   å´©å��ï¼šæ˜Ÿç©¹é“�é�“Ú	414732580Ú4006511é­   z/https://www.taptap.cn/moment/540493587511511299r   Ú540493587511511299uF   ä¸­å¼�æ°‘ä¿—è§£è°œã€Šçº¸å«�è¡£7ã€‹ã€�æ–°ç³»åˆ—ã€Šçº¸ä¸�è¯­ã€‹å…¬å¸ƒï¼�z$md5:d60842350e686ddb242291ddfb8e39c9iHÝFfÚ20240517iQ3Gfu   TapTap ç¼–è¾‘Ú7159244)r   rq   rg   rs   N)rI   rJ   rK   Ú
_VALID_URLr?   rC   r   r7   Úintr	   rA   Ú_TESTSrL   r   r   rN   rN   ?   s�  „ Ø?€JØA€IØN€HØØ$ { mÐ4Ø,¨{¨mÐ<Ø˜v v°¨uÐ5Ø  &¨$°°¸°}ÐEØ˜7 S EÐ*Ø ¨S¨EÐ2ñð €Jð Aà&ØgØAØ#Ø%Ø",Ø'Ø Ø#ñ

ð àØØØkØEØØ'Ø)Ø&0Ø!+Ø$Ø'Ø:ñð
ð ð  # FÐ+ñ=ð@ Aà&ØXØAØ#Ø%Ø",Ø'Ø/Ø&ñ

ð àØØØ\ØEØØ'Ø)Ø&0Ø!+Ø3Ø*Ø:ñð
ð ð  # FÐ+ñ=ð@ AØà&Ø]ØAØ#Ø%Ø",Ø'Ø'Ø$ñ

ð # FÐ+ñð}M�Fr   rN   c                   óz   — e Zd ZdZdZdZdehfddehehfdœZdd	d
ddœddddd
ddddœidddd
ddddœigddidœgZ	y)ÚTapTapAppIEz(https?://www\.taptap\.cn/app/(?P<id>\d+)z,https://www.taptap.cn/webapiv2/app/v4/detail©)Ú
app_videosrR   .r   rY   r`   Útext©rY   r`   z https://www.taptap.cn/app/168332Ú168332u   åŽŸç¥žz$md5:e345f39a5fea5de2a46923f70d5f76ab©r   rY   r`   r   rg   Ú4058443ri   é   rk   ©r   rm   rY   r`   r-   r.   Ú4058462i'  rn   ro   rp   N)
rI   rJ   rK   r|   r?   rC   r7   r   rA   r~   rL   r   r   r€   r€   ›   s¥   „ Ø<€JØ>€IØ:€Hà˜C˜5Ð!Ø% v°¨u°z°lÐCñ€Jð
 2àØØAñ
ð
 àØØØ!ØEØØ:ñð	
ð ØØØ!ØEØØ:ñð	
ðð& # FÐ+ñ7ð �Fr   r€   c                   ó   — e Zd ZdZdZy)ÚTapTapIntlBaseIEz|V=1&PN=WebAppIntl2&LANG=zh_TW&VN_CODE=115&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID={uuid}&CURR=&DT=PC&OS=Windows&OSV=NT%208.0.0z:https://www.taptap.io/webapiv2/video-resource/v1/multi-getN)rI   rJ   rK   r   r1   rL   r   r   rŒ   rŒ   Â   s   „ ð K€EØM�Jr   rŒ   c                   ój   — e Zd ZdZdZdZdZdehfddehehfdœZ	d	d
dddœdddddddddœigddidœgZ
y)ÚTapTapAppIntlIEz(https?://www\.taptap\.io/app/(?P<id>\d+)z.https://www.taptap.io/webapiv2/i/app/v5/detailÚappr�   rY   r`   rƒ   r„   z https://www.taptap.io/app/233287Ú233287u   ã€Šè™¹å½©å…­è™Ÿ Mã€‹z$md5:418285f9c15347fc3cf3e3a3c649f182r†   r   rg   Ú
2149708997ri   éN   rk   r‰   rn   ro   rp   N)rI   rJ   rK   r|   r?   r@   rC   r7   r   rA   r~   rL   r   r   rŽ   rŽ   Ç   s‰   „ Ø<€JØ@€IØ€JØ:€Hà˜C˜5Ð!Ø% v°¨u°z°lÐCñ€Jð
 2àØ+ØAñ
ð
 àØ"ØØ/ØEØØ:ñð	
ð 	ð # FÐ+ñ%ð �Fr   rŽ   c                   óª   — e Zd ZdZdZdZdZdZdehfdehfdd	e	hfdd
e
hehfde	hfdde	hfdœZ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œigdd id!œgZy")#ÚTapTapPostIntlIEz)https?://www\.taptap\.io/post/(?P<id>\d+)z6https://www.taptap.io/webapiv2/creation/post/v1/detailÚid_strÚpost)rQ   r   Úpublished_timerU   rW   rX   r   rY   Úlist_fieldsrZ   r[   z!https://www.taptap.io/post/571785Ú571785z(Arknights x Rainbow Six Siege | Event PVz$md5:f7717c13f6d3108e22db7303e6690bf7i÷Ô=`Ú20210302zTapTap EditorÚ80224473rd   r   rg   Ú
2149491903ri   éz   rk   rl   rn   ro   rp   N)rI   rJ   rK   r|   r?   r>   r@   rC   r   r7   r}   r	   rA   r~   rL   r   r   r”   r”   æ   sÞ   „ Ø=€JØH€IØ€OØ€JØ;€Hà&¨¨Ð6Ø,¨{¨mÐ<Ø˜V c UÐ+Ø  s e¨k¨]Ð;Ø˜C˜5Ð!Ø% y°3°%Ð8ñ€Jð 3àØ?ØAØ#Ø%Ø",Ø'Ø'Ø%ñ

ð àØ"ØØCØEØØ'Ø)Ø&0Ø!+Ø+Ø)Ø:ñð
ð ð  # FÐ+ñ=ð �Fr   r”   )r4   r   Úcommonr   Úutilsr   r   r   r	   r
   Úutils.traversalr   r   rN   r€   rŒ   rŽ   r”   rL   r   r   ú<module>r¡      sp   ðÛ 	Û å !÷õ õ +ô-F�=ô -Fô`Y�\ô Yôx$�,ô $ôNN�|ô Nô
Ð&ô ô>-Ð'õ -r   