]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/charlierose.py
   1 from __future__ 
import unicode_literals
 
   3 from .common 
import InfoExtractor
 
   4 from ..utils 
import remove_end
 
   7 class CharlieRoseIE(InfoExtractor
): 
   8     _VALID_URL 
= r
'https?://(?:www\.)?charlierose\.com/(?:video|episode)(?:s|/player)/(?P<id>\d+)' 
  10         'url': 'https://charlierose.com/videos/27996', 
  11         'md5': 'fda41d49e67d4ce7c2411fd2c4702e09', 
  15             'title': 'Remembering Zaha Hadid', 
  16             'thumbnail': r
're:^https?://.*\.jpg\?\d+', 
  17             'description': 'We revisit past conversations with Zaha Hadid, in memory of the world renowned Iraqi architect.', 
  25         'url': 'https://charlierose.com/videos/27996', 
  26         'only_matching': True, 
  28         'url': 'https://charlierose.com/episodes/30887?autoplay=true', 
  29         'only_matching': True, 
  32     _PLAYER_BASE 
= 'https://charlierose.com/video/player/%s' 
  34     def _real_extract(self
, url
): 
  35         video_id 
= self
._match
_id
(url
) 
  36         webpage 
= self
._download
_webpage
(self
._PLAYER
_BASE 
% video_id
, video_id
) 
  38         title 
= remove_end(self
._og
_search
_title
(webpage
), ' - Charlie Rose') 
  40         info_dict 
= self
._parse
_html
5_media
_entries
( 
  41             self
._PLAYER
_BASE 
% video_id
, webpage
, video_id
, 
  42             m3u8_entry_protocol
='m3u8_native')[0] 
  44         self
._sort
_formats
(info_dict
['formats']) 
  45         self
._remove
_duplicate
_formats
(info_dict
['formats']) 
  50             'thumbnail': self
._og
_search
_thumbnail
(webpage
), 
  51             'description': self
._og
_search
_description
(webpage
),