
    VGh                     N    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
y)   )InfoExtractor   )float_or_noneint_or_none
js_to_jsonurl_or_noneurlhandle_detect_ext)traverse_objc                   \    e Zd ZdZdZddddddd	g d
ddddddddddddg dddgZd Zy)XiaoHongShuIEzJhttps?://www\.xiaohongshu\.com/(?:explore|discovery/item)/(?P<id>[\da-f]+)u	   小红书z<https://www.xiaohongshu.com/explore/6411cf99000000001300b6d9 2a87a77ddbedcaeeda8d7eae61b612286411cf99000000001300b6d9mp45c31698d0000000007018a31u   #今日快乐今日发[话题]# #吃货薯看这里[话题]# #香妃蛋糕[话题]# #小五卷蛋糕[话题]# #新手蛋糕卷[话题]#u@   香妃蛋糕也太香了吧🔥不需要卷❗️绝对的友好)u   今日快乐今日发u   吃货薯看这里u   香妃蛋糕u   小五卷蛋糕u   新手蛋糕卷gX9vnY@z:re:https?://sns-webpic-qc\.xhscdn\.com/\d+/[a-z0-9]+/[\w]+)idextuploader_iddescriptiontitletagsduration	thumbnail)urlmd5	info_dictz}https://www.xiaohongshu.com/discovery/item/674051740000000007027a15?xsec_token=CBgeL8Dxd1ZWBhwqRd568gAZ_iwG-9JIf9tnApNmteU2E=674051740000000007027a15u   相互喜欢就可以了63439913000000001901f49ag <@ui   #广州[话题]# #深圳[话题]# #香港[话题]# #街头采访[话题]# #是你喜欢的类型[话题]#z9re:https?://sns-webpic-qc\.xhscdn\.com/\d+/[\da-f]+/[^/]+)u   广州u   深圳u   香港u   街头采访u   是你喜欢的类型)r   r   r   r   r   r   r   r   )r   r   c                 N   | j                  |      }| j                  ||      }| j                  d|d|t              }t	        |dd|df      }t	        |d      }g }|D ]  }t	        |dt
        hfdt
        hfd	t
        hfd
t        hfdt        hfdt        d      hfdt        d      hfdt
        hfdt        d      hfdt        hfdt
        hfdt        d      hfd      |j                  t	        |dfdhf              t	        |dddt        hf      x}	r_| j                  d|	 |ddd      }
|
rD|j                  d t        |
d!"      t        |
j                  d#            |
j                  d$d%       g }t	        |d&      D ]L  }t	        |d	t
        hfdt
        hfd'      }t	        |d(t        hf      D ]  }|j                  d)|i|        N |||| j                  d*g|d "      d+t	        |d,t        hfd-t        hfd.d/d0t        hfd1d2t        hfd3      S )4Nzwindow\.__INITIAL_STATE__\s*=zinitial state)transform_sourcenotenoteDetailMap)videomediastream..fpswidthheight
videoCodec
audioCodecaudioBitratei  )scalevideoBitrateaudioChannels
avgBitratequalityTypesizer   )r%   r&   r'   vcodecacodecabrvbraudio_channelstbrformatfilesizer   )	masterUrl)
backupUrls.c                 *    t        |       xr d| iS )Nr   )r   )uformat_infos    e/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/xiaohongshu.py<lambda>z-XiaoHongShuIE._real_extract.<locals>.<lambda>F   s    +a.FeQ-F+-F     r"   consumeroriginVideoKeyz https://sns-video-bd.xhscdn.com/z$Checking original video availabilityzOriginal video is not availableF)fataldirectr   )defaultzContent-Lengthr   )	format_idr   r8   r   quality)	imageList.)r'   r&   )
urlDefaulturlPrer   zog:title)r   formats
thumbnailsr   r   desctagList.nameuseruserId)r   r   r   r   )	_match_id_download_webpage_search_jsonr   r
   r   strr   extend_request_webpageappendr	   
get_headerr   r   _html_search_meta)selfr   
display_idwebpageinitial_state	note_info
video_inforK   info
origin_keyurlhrL   
image_infothumbnail_info	thumb_urlr=   s                  @r>   _real_extractzXiaoHongShuIE._real_extract+   s   ^^C(
((j9)),g
eo * q !*V\0]^	!)-ST
 	KD&t}-!K=1#k]3'#/'#/&4)@(AB&4)@(AB#2[M"B${'>&?@(3%0#k]3'-d*C)DE. K NN</QFTH /I J K!	K& &i':GWZ]Y^1_``:`((2:,?68Yaf ) hD !)/eD +DOO<L,M N88    
&y2DE 		J)*#k]3!K=17 N **7OR]Q^6_` 	!!9#$# 		 $++ZL'4+P	

 9!C5) &"C#7 &3%8	' 
 	
r@   N)__name__
__module____qualname__
_VALID_URLIE_DESC_TESTSrg    r@   r>   r   r      so    ^JGM1,5 eWyV	
 O,/5 GU[	
F6B
r@   r   N)commonr   utilsr   r   r   r   r	   utils.traversalr
   r   rn   r@   r>   <module>rr      s%    !  +`
M `
r@   