]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/vidzi.py
2 from __future__
import unicode_literals
6 from .common
import InfoExtractor
15 class VidziIE(InfoExtractor
):
16 _VALID_URL
= r
'https?://(?:www\.)?vidzi\.(?:tv|cc)/(?: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 'only_matching': True,
33 'url': 'http://vidzi.cc/cghql9yq6emu.html',
34 'only_matching': True,
37 def _real_extract(self
, url
):
38 video_id
= self
._match
_id
(url
)
40 webpage
= self
._download
_webpage
(
41 'http://vidzi.tv/%s' % video_id
, video_id
)
42 title
= self
._html
_search
_regex
(
43 r
'(?s)<h2 class="video-title">(.*?)</h2>', webpage
, 'title')
47 decode_packed_codes(mobj
.group(0)).replace('\\\'', '\'')
48 for mobj
in re
.finditer(PACKED_CODES_RE
, webpage
)])
49 for num
, code
in enumerate(codes
, 1):
50 jwplayer_data
= self
._parse
_json
(
52 r
'setup\(([^)]+)\)', code
, 'jwplayer data',
53 default
=NO_DEFAULT
if num
== len(codes
) else '{}'),
54 video_id
, transform_source
=js_to_json
)
58 info_dict
= self
._parse
_jwplayer
_data
(jwplayer_data
, video_id
, require_title
=False)
59 info_dict
['title'] = title