]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/clipsyndicate.py
   1 from __future__ 
import unicode_literals
 
   3 from .common 
import InfoExtractor
 
  10 class ClipsyndicateIE(InfoExtractor
): 
  11     _VALID_URL 
= r
'https?://(?:chic|www)\.clipsyndicate\.com/video/play(list/\d+)?/(?P<id>\d+)' 
  14         'url': 'http://www.clipsyndicate.com/video/play/4629301/brick_briscoe', 
  15         'md5': '4d7d549451bad625e0ff3d7bd56d776c', 
  19             'title': 'Brick Briscoe', 
  21             'thumbnail': r
're:^https?://.+\.jpg', 
  24         'url': 'http://chic.clipsyndicate.com/video/play/5844117/shark_attack', 
  25         'only_matching': True, 
  28     def _real_extract(self
, url
): 
  29         video_id 
= self
._match
_id
(url
) 
  30         js_player 
= self
._download
_webpage
( 
  31             'http://eplayer.clipsyndicate.com/embed/player.js?va_id=%s' % video_id
, 
  32             video_id
, 'Downlaoding player') 
  33         # it includes a required token 
  34         flvars 
= self
._search
_regex
(r
'flvars: "(.*?)"', js_player
, 'flvars') 
  36         pdoc 
= self
._download
_xml
( 
  37             'http://eplayer.clipsyndicate.com/osmf/playlist?%s' % flvars
, 
  38             video_id
, 'Downloading video info', 
  39             transform_source
=fix_xml_ampersands
) 
  41         track_doc 
= pdoc
.find('trackList/track') 
  44             node 
= find_xpath_attr(track_doc
, './/param', 'name', name
) 
  46                 return node
.attrib
['value'] 
  50             'title': find_param('title'), 
  51             'url': track_doc
.find('location').text
, 
  52             'thumbnail': find_param('thumbnail'), 
  53             'duration': int(find_param('duration')),