]>
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|si)/(?: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, 
  36         'url': 'https://vidzi.si/rph9gztxj1et.html', 
  37         'only_matching': True, 
  40     def _real_extract(self
, url
): 
  41         video_id 
= self
._match
_id
(url
) 
  43         webpage 
= self
._download
_webpage
( 
  44             'http://vidzi.tv/%s' % video_id
, video_id
) 
  45         title 
= self
._html
_search
_regex
( 
  46             r
'(?s)<h2 class="video-title">(.*?)</h2>', webpage
, 'title') 
  50             decode_packed_codes(mobj
.group(0)).replace('\\\'', '\'') 
  51             for mobj 
in re
.finditer(PACKED_CODES_RE
, webpage
)]) 
  52         for num
, code 
in enumerate(codes
, 1): 
  53             jwplayer_data 
= self
._parse
_json
( 
  55                     r
'setup\(([^)]+)\)', code
, 'jwplayer data', 
  56                     default
=NO_DEFAULT 
if num 
== len(codes
) else '{}'), 
  57                 video_id
, transform_source
=lambda s
: js_to_json( 
  58                     re
.sub(r
'\s*\+\s*window\[.+?\]', '', s
))) 
  62         info_dict 
= self
._parse
_jwplayer
_data
(jwplayer_data
, video_id
, require_title
=False) 
  63         info_dict
['title'] = title