]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/cgtn.py
1 from . common
import InfoExtractor
8 class CGTNIE ( InfoExtractor
):
9 _VALID_URL
= r
'https?://news\.cgtn\.com/news/[0-9] {4} -[0-9] {2} -[0-9] {2} /[a-zA-Z0-9-]+-(?P<id>[a-zA-Z0-9-]+)/index\.html'
12 'url' : 'https://news.cgtn.com/news/2021-03-09/Up-and-Out-of-Poverty-Ep-1-A-solemn-promise-YuOUaOzGQU/index.html' ,
16 'title' : 'Up and Out of Poverty Ep. 1: A solemn promise' ,
17 'thumbnail' : r
're:^https?://.*\.jpg$' ,
18 'timestamp' : 1615295940 ,
19 'upload_date' : '20210309' ,
25 'url' : 'https://news.cgtn.com/news/2021-06-06/China-Indonesia-vow-to-further-deepen-maritime-cooperation-10REvJCewCY/index.html' ,
29 'title' : 'China, Indonesia vow to further deepen maritime cooperation' ,
30 'thumbnail' : r
're:^https?://.*\.png$' ,
31 'description' : 'China and Indonesia vowed to upgrade their cooperation into the maritime sector and also for political security, economy, and cultural and people-to-people exchanges.' ,
34 'timestamp' : 1622950200 ,
35 'upload_date' : '20210606' ,
38 'skip_download' : False
43 def _real_extract ( self
, url
):
44 video_id
= self
._ match
_ id
( url
)
45 webpage
= self
._ download
_ webpage
( url
, video_id
)
47 download_url
= self
._ html
_ search
_ regex
( r
'data-video ="(?P<url>.+m3u8)"' , webpage
, 'download_url' )
48 datetime_str
= self
._ html
_ search
_ regex
( r
'<span class="date">\s*(.+?)\s*</span>' , webpage
, 'datetime_str' , fatal
= False )
52 'title' : self
._ og
_ search
_ title
( webpage
),
53 'description' : self
._ og
_ search
_ description
( webpage
, default
= None ),
54 'thumbnail' : self
._ og
_ search
_ thumbnail
( webpage
),
55 'formats' : self
._ extract
_ m
3u8_ formats
( download_url
, video_id
, 'mp4' , 'm3u8_native' , m3u8_id
= 'hls' ),
56 'category' : self
._ html
_ search
_ regex
( r
'<span class="section">\s*(.+?)\s*</span>' ,
57 webpage
, 'category' , fatal
= False ),
58 'author' : self
._ html
_ search
_ regex
( r
'<div class="news-author-name">\s*(.+?)\s*</div>' ,
59 webpage
, 'author' , default
= None , fatal
= False ),
60 'timestamp' : try_get ( unified_timestamp ( datetime_str
), lambda x
: x
- 8 * 3600 ),