]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/canalc2.py
f6a1ff381a61af338fd7dec2419aaadfa1081c8b
   2 from __future__ 
import unicode_literals
 
   6 from .common 
import InfoExtractor
 
   7 from ..utils 
import parse_duration
 
  10 class Canalc2IE(InfoExtractor
): 
  11     IE_NAME 
= 'canalc2.tv' 
  12     _VALID_URL 
= r
'https?://(?:www\.)?canalc2\.tv/video/(?P<id>\d+)' 
  15         'url': 'http://www.canalc2.tv/video/12163', 
  16         'md5': '060158428b650f896c542dfbb3d6487f', 
  20             'title': 'Terrasses du Numérique', 
  24             'skip_download': True,  # Requires rtmpdump 
  28     def _real_extract(self
, url
): 
  29         video_id 
= self
._match
_id
(url
) 
  30         webpage 
= self
._download
_webpage
(url
, video_id
) 
  31         video_url 
= self
._search
_regex
( 
  32             r
'jwplayer\((["\'])Player\
1\
)\
.setup\
({[^
}]*file\s
*:\s
*(["\'])(?P<file>.+?)\2', 
  33             webpage, 'video_url', group='file') 
  34         formats = [{'url': video_url}] 
  35         if video_url.startswith('rtmp://'): 
  36             rtmp = re.search(r'^(?P<url>rtmp://[^/]+/(?P<app>.+/))(?P<play_path>mp4:.+)$', video_url) 
  38                 'url': rtmp.group('url'), 
  40                 'app': rtmp.group('app'), 
  41                 'play_path': rtmp.group('play_path'), 
  45         title = self._html_search_regex( 
  46             r'(?s)class="[^
"]*col_description[^"]*">.*?<h3>(.*?)</h3>', webpage, 'title') 
  47         duration = parse_duration(self._search_regex( 
  48             r'id=["\']video_duree
["\'][^>]*>([^<]+)', 
  49             webpage, 'duration', fatal=False))