
    VGhj                     b    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mZ  G d de      Zy)	    N   )InfoExtractor   )float_or_noneint_or_nonestr_or_nonetry_callurl_or_none)find_elementtraverse_objc                   l    e Zd ZdZdZdZddddeded	d
dddeddddddededddddeddgZd Zd Z	y)	ToutiaoIEtoutiaou   今日头条z8https?://www\.toutiao\.com/video/(?P<id>\d+)/?(?:[?#]|$)z2https://www.toutiao.com/video/7505382061495176511/7505382061495176511mp4ur   新疆多地现不明飞行物，目击者称和月亮一样亮，几秒内突然加速消失，气象部门回应gK7#@20250517iz(hz*re:https?://p\d+-sign\.toutiaoimg\.com/.+$u   极目新闻7MS4wLjABAAAAeateBb9Su8I3MJOZozmvyzWktmba5LMlliRDz1KffnM)idexttitlecomment_countduration
like_countrelease_daterelease_timestamp	thumbnailuploaderuploader_id
view_count)url	info_dictz2https://www.toutiao.com/video/7479446610359878153/7479446610359878153uQ   小伙竟然利用两块磁铁制作成磁力减震器，简直太有创意了！g-]@20250308iUgu   小莉创意发明z7MS4wLjABAAAA4f7d4mwtApALtHIiq-QM20dwXqe32NUz0DeWF7wbHKwc                 4     j                  d      j                  d      ry  j                  dd ddddit        j                  dd	d
ddd      j                               t         fd      x}r j                  dd|       y  j                          y )Nzhttps://www.toutiao.comttwidz1https://ttwid.bytedance.com/ttwid/union/register/zFetching ttwidzUnable to fetch ttwidzContent-Typezapplication/json   Fcnzwww.toutiao.comT)aidneedFidregionserviceunion)headersdatac                  T     j                  j                        d   j                  S )Nr%   )_get_cookiesr    value)selfurlhs   a/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/toutiao.py<lambda>z,ToutiaoIE._real_initialize.<locals>.<lambda>G   s!    T%6%6txx%@%I%O%O     z.toutiao.com)	r0   get_request_webpagejsondumpsencoder	   _set_cookieraise_login_required)r2   r%   r3   s   ` @r4   _real_initializezToutiaoIE._real_initialize6   s    67;;GD$$?5 2@JJ ,   vx % 
 OPP5P^We<!!#r6   c                    | j                  |      }| j                  ||      }t        |t        dd      ht        j
                  j                  ht        j                  hddf      }g }t        |ddd f      D ]  }|j                  d	|d
   it        |ddt        hfdt        hfdt        ht        hf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        hfdt        hfdf              ||dt        |dt        hfddt        hfdt        hfdt        hfdt        ht        fd t        hfd!d"t        hfd!d#t        hfd$t        hfd%t        hfd&
      S )'NscriptRENDER_DATA)tagr   r.   initialVideovideoPlayInfo
video_listc                     |d   S )Nmain_url )_vs     r4   r5   z)ToutiaoIE._real_extract.<locals>.<lambda>W   s
    * r6   r    rG   
video_metaaudio_profileaudio_sample_rateaudio_channelsvtypesize
definitionfpsvheightreal_bitratei  )scale
codec_typevwidth)acodecasrrN   r   filesize	format_idrR   heighttbrvcodecwidth)r   formatscommentCountvideo_duration
repinCountpublishTime)postercoverUrlr   userInfonameuserId	playCount	detailUrl)
r   r   r   r   r   r   r   r   r   webpage_url)	_match_id_download_webpager   r   urllibparseunquoter9   loadsappendstrr   r   r
   anyr   )r2   r    video_idwebpage
video_datar`   videos          r4   _real_extractzToutiaoIE._real_extractM   s   >>#&((h7!'h=9:\\!!"TZZL&.,
 

 !*\+E/
  	E NNuZ(u|.6/+?'7-;-&X#cU+!'+ 7".!6!K=1(;-8*]-F,GH+cU3&66 '  	* 
 :"0;-!@,.>P+k];&3k]%C4{mSI!C5)'#7 *H{mD*[M: +k];( 
 	
r6   N)
__name__
__module____qualname__IE_NAMEIE_DESC
_VALID_URLint_TESTSr>   rz   rH   r6   r4   r   r      s    GGLJC' J &!+F&T
" D'h &!+F,T
! FD$.,
r6   r   )r9   urllib.parsero   commonr   utilsr   r   r   r	   r
   utils.traversalr   r   r   rH   r6   r4   <module>r      s+      !  9j
 j
r6   