]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/vidzi.py
9950c62ad636ee4f03389bef627da4318f019c22
2 from __future__
import unicode_literals
6 from .jwplatform
import JWPlatformBaseIE
15 class VidziIE(JWPlatformBaseIE
):
16 _VALID_URL
= r
'https?://(?:www\.)?vidzi\.tv/(?:embed-)?(?P<id>[0-9a-zA-Z]+)'
18 'url': 'http://vidzi.tv/cghql9yq6emu.html',
19 'md5': '4f16c71ca0c8c8635ab6932b5f3f1660',
23 'title': 'youtube-dl test video 1\\\\2\'3/4<5\\\\6ä7↭',
27 'skip_download': True,
30 'url': 'http://vidzi.tv/embed-4z2yb0rzphe9-600x338.html',
31 'skip_download': True,
34 def _real_extract(self
, url
):
35 video_id
= self
._match
_id
(url
)
37 webpage
= self
._download
_webpage
(
38 'http://vidzi.tv/%s' % video_id
, video_id
)
39 title
= self
._html
_search
_regex
(
40 r
'(?s)<h2 class="video-title">(.*?)</h2>', webpage
, 'title')
42 packed_codes
= [mobj
.group(0) for mobj
in re
.finditer(
43 PACKED_CODES_RE
, webpage
)]
44 for num
, pc
in enumerate(packed_codes
, 1):
45 code
= decode_packed_codes(pc
).replace('\\\'', '\'')
46 jwplayer_data
= self
._parse
_json
(
48 r
'setup\(([^)]+)\)', code
, 'jwplayer data',
49 default
=NO_DEFAULT
if num
== len(packed_codes
) else '{}'),
50 video_id
, transform_source
=js_to_json
)
54 info_dict
= self
._parse
_jwplayer
_data
(jwplayer_data
, video_id
, require_title
=False)
55 info_dict
['title'] = title