1 from .common
import InfoExtractor
2 from ..utils
import extract_attributes
, get_element_html_by_class
, remove_start
5 class VTVGoIE(InfoExtractor
):
7 r
'https?://(?:www\.)?vtvgo\.vn/(kho-video|tin-tuc)/[\w.-]*?(?P<id>\d+)(?:\.[a-z]+|/)?(?:$|[?#])',
8 r
'https?://(?:www\.)?vtvgo\.vn/digital/detail\.php\?(?:[^#]+&)?content_id=(?P<id>\d+)',
11 'url': 'https://vtvgo.vn/kho-video/bep-vtv-vit-chao-rieng-so-24-888456.html',
15 'title': 'Bếp VTV | Vịt chao riềng | Số 24',
16 'description': 'md5:2b4e93ec2b954304170d32be288ce2c8',
17 'thumbnail': 'https://vtvgo-images.vtvdigital.vn/images/20230201/VIT-CHAO-RIENG_VTV_638108894672812459.jpg',
20 'url': 'https://vtvgo.vn/tin-tuc/hot-search-1-zlife-khong-ngo-toi-phai-khong-862074',
24 'title': 'Hot Search #1 | Zlife | Không ngờ tới phải không? ',
25 'description': 'md5:e967d0e2efbbebbee8814a55799b4d0f',
26 'thumbnail': 'https://vtvgo-images.vtvdigital.vn/images/20220504/6b9a8552-e71c-46ce-bc9d-50c9bb506f9c.jpeg',
29 'url': 'https://vtvgo.vn/kho-video/918311.html',
32 'title': 'Cà phê sáng | 05/02/2024 | Tái hiện hình ảnh Hà Nội xưa tại ngôi nhà di sản',
34 'thumbnail': 'https://vtvgo-images.vtvdigital.vn/images/20240205/0506_ca_phe_sang_638427226021318322.jpg',
35 'description': 'md5:b121c67948f1ce58e6a036042fc14c1b',
38 'url': 'https://vtvgo.vn/digital/detail.php?digital_id=168&content_id=918634',
42 'title': 'Gặp nhau cuối năm | Táo quân 2024',
43 'description': 'md5:a1c221e78e5954d29d49b2a11c20513c',
44 'thumbnail': 'https://vtvgo-images.vtvdigital.vn/images/20240210/d0f73369-8f03-4108-9edd-83d4bc3997b2.png',
47 'url': 'https://vtvgo.vn/digital/detail.php?content_id=919358',
51 'title': 'Chúng ta của 8 năm sau | Tập 45 | Dương có bằng chứng, nhân chứng vạch mặt ông Khiêm',
52 'description': 'md5:16ff5208cac6585137f554472a4677f3',
53 'thumbnail': 'https://vtvgo-images.vtvdigital.vn/images/20240221/550deff9-7736-4a0e-8b5d-33274d97cd7d.jpg',
56 'url': 'https://vtvgo.vn/kho-video/888456',
57 'only_matching': True,
60 def _real_extract(self
, url
):
61 video_id
= self
._match
_id
(url
)
62 webpage
= self
._download
_webpage
(url
, video_id
)
63 m3u8_url
= self
._search
_regex
(
64 r
'(?:var\s+link\s*=\s*|addPlayer\()["\'](https
://[^
"\']+/index\.m3u8)["\']', webpage, 'm3u8 url
')
67 'title
': self._og_search_title(webpage, default=None),
68 'description
': self._og_search_description(webpage, default=None),
69 'thumbnail
': self._og_search_thumbnail(webpage, default=None),
70 'formats
': self._extract_m3u8_formats(m3u8_url, video_id, 'mp4
'),
74 class VTVIE(InfoExtractor):
75 _VALID_URL = r'https?
://(?
:www\
.)?vtv\
.vn
/video
/[\w
-]*?
(?P
<id>\d
+)\
.htm
'
77 'url
': 'https
://vtv
.vn
/video
/thoi
-su
-20h
-vtv1
-12-6-2024-680411.htm
',
81 'title
': 'Thời sự
20h VTV1
- 12/6/2024 - Video đã phát trên VTV1 | VTV
.VN
',
82 'thumbnail
': 'https
://cdn
-images
.vtv
.vn
/zoom
/600_315/66349b6076cb4dee98746cf1
/2024/06/12/thumb
/1206-ts
-20h
-02929741475480320806760.mp4
/thumb0
.jpg
',
85 'url
': 'https
://vtv
.vn
/video
/zlife
-1-khong
-ngo
-toi
-phai
-khong
-vtv24
-560248.htm
',
89 'title
': 'ZLife
#1: Không ngờ tới phải không? | VTV24 - Video đã phát trên VTV-NEWS | VTV.VN',
90 'description': 'Ai đứng sau vụ việc thay đổi ảnh đại diện trên các trang mạng xã hội của VTV Digital tối 2/5?',
91 'thumbnail': 'https://video-thumbs.mediacdn.vn/zoom/600_315/vtv/2022/5/13/t67s6btf3ji-16524555726231894427334.jpg',
95 def _real_extract(self
, url
):
96 video_id
= self
._match
_id
(url
)
97 webpage
= self
._download
_webpage
(url
, video_id
)
98 data_vid
= extract_attributes(get_element_html_by_class(
99 'VCSortableInPreviewMode', get_element_html_by_class(
100 'video-highlight-box', webpage
)))['data-vid']
101 m3u8_url
= f
'https://cdn-videos.vtv.vn/{remove_start(data_vid, "vtv.mediacdn.vn/")}/master.m3u8'
104 'title': self
._og
_search
_title
(webpage
, default
=None),
105 'description': self
._og
_search
_description
(webpage
, default
=None),
106 'thumbnail': self
._og
_search
_thumbnail
(webpage
, default
=None),
107 'formats': self
._extract
_m
3u8_formats
(m3u8_url
, video_id
, 'mp4'),