]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/canalc2.py
   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/|archives-canalc2\.u-strasbg\.fr/video\.asp\?.*\bidVideo=)(?P<id>\d+)' 
  15         'url': 'http://www.canalc2.tv/video/12163', 
  16         'md5': '060158428b650f896c542dfbb3d6487f', 
  20             'title': 'Terrasses du Numérique', 
  24         'url': 'http://archives-canalc2.u-strasbg.fr/video.asp?idVideo=11427&voir=oui', 
  25         'only_matching': True, 
  28     def _real_extract(self
, url
): 
  29         video_id 
= self
._match
_id
(url
) 
  31         webpage 
= self
._download
_webpage
( 
  32             'http://www.canalc2.tv/video/%s' % video_id
, video_id
) 
  35         for _
, video_url 
in re
.findall(r
'file\s*=\s*(["\'])(.+?
)\
1', webpage): 
  36             if video_url.startswith('rtmp
://'): 
  38                     r'^
(?P
<url
>rtmp
://[^
/]+/(?P
<app
>.+/))(?P
<play_path
>mp4
:.+)$
', video_url) 
  40                     'url
': rtmp.group('url
'), 
  43                     'app
': rtmp.group('app
'), 
  44                     'play_path
': rtmp.group('play_path
'), 
  52         self._sort_formats(formats) 
  54         title = self._html_search_regex( 
  55             r'(?s
)class="[^"]*col_description
[^
"]*">.*?
<h3
>(.*?
)</h3
>', webpage, 'title
') 
  56         duration = parse_duration(self._search_regex( 
  57             r'id=["\']video_duree["\'][^
>]*>([^
<]+)', 
  58             webpage, 'duration
', fatal=False))