]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/myvideoge.py
1 from .common
import InfoExtractor
2 from ..utils
import js_to_json
5 class MyVideoGeIE(InfoExtractor
):
6 _VALID_URL
= r
'https?://(?:www\.)?myvideo\.ge/v/(?P<id>[0-9]+)'
8 'url': 'https://www.myvideo.ge/v/3941048',
9 'md5': '8c192a7d2b15454ba4f29dc9c9a52ea9',
13 'title': 'The best prikol',
14 'thumbnail': r
're:^https?://.*\.jpg$',
15 'uploader': 'md5:d72addd357b0dd914e704781f7f777d8',
16 'description': 'md5:5c0371f540f5888d603ebfedd46b6df3'
20 def _real_extract(self
, url
):
21 video_id
= self
._match
_id
(url
)
22 webpage
= self
._download
_webpage
(url
, video_id
)
24 title
= self
._html
_search
_regex
(r
'<h1[^>]*>([^<]+)</h1>', webpage
, 'title')
25 description
= self
._og
_search
_description
(webpage
)
26 thumbnail
= self
._html
_search
_meta
(['og:image'], webpage
)
27 uploader
= self
._search
_regex
(r
'<a[^>]+class="mv_user_name"[^>]*>([^<]+)<', webpage
, 'uploader', fatal
=False)
29 jwplayer_sources
= self
._parse
_json
(
31 r
"(?s)jwplayer\(\"mvplayer
\"\
).setup\
(.*?sources
: (.*?
])", webpage, 'jwplayer sources'),
32 video_id, transform_source=js_to_json)
35 if f['label'] == 'SD':
37 elif f['label'] == 'HD':
42 jwplayer_sources = sorted(jwplayer_sources, key=_formats_key)
44 formats = self._parse_jwplayer_formats(jwplayer_sources, video_id)
49 'description': description,
52 'thumbnail': thumbnail