diff options
author | Yen Chi Hsuan <yan12125@gmail.com> | 2016-08-22 00:48:35 +0800 |
---|---|---|
committer | Yen Chi Hsuan <yan12125@gmail.com> | 2016-08-22 00:48:35 +0800 |
commit | d13bfc07b79bafa0be6829a18d0d2e273e83339b (patch) | |
tree | 521d5bc48bde654e677226e029874266ebc9cd1e /youtube_dl/extractor/charlierose.py | |
parent | d164a0d41bdc95caa2b1458b9f51381de7d6a5a7 (diff) | |
parent | db29af6d36b3d16614355dac70f22c4f2d8410d2 (diff) |
Merge branch 'charlierose' of https://github.com/TRox1972/youtube-dl into TRox1972-charlierose
Diffstat (limited to 'youtube_dl/extractor/charlierose.py')
-rw-r--r-- | youtube_dl/extractor/charlierose.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/youtube_dl/extractor/charlierose.py b/youtube_dl/extractor/charlierose.py new file mode 100644 index 000000000..ba1d1b833 --- /dev/null +++ b/youtube_dl/extractor/charlierose.py @@ -0,0 +1,45 @@ +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import remove_end + + +class CharlieRoseIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?charlierose\.com/video(?:s|/player)/(?P<id>\d+)' + _TEST = { + 'url': 'https://charlierose.com/videos/27996', + 'info_dict': { + 'id': '27996', + 'ext': 'mp4', + 'title': 'Remembering Zaha Hadid', + 'thumbnail': 're:^https?://.*\.jpg\?\d+', + 'description': 'We revisit past conversations with Zaha Hadid, in memory of the world renowned Iraqi architect.', + }, + 'params': { + # m3u8 download + 'skip_download': True, + } + } + + _PLAYER_BASE = 'https://charlierose.com/video/player/%s' + + def _real_extract(self, url): + video_id = self._match_id(url) + webpage = self._download_webpage(self._PLAYER_BASE % video_id, video_id) + + title = remove_end(self._og_search_title(webpage), ' - Charlie Rose') + + entries = self._parse_html5_media_entries(self._PLAYER_BASE % video_id, webpage, video_id)[0] + formats = entries['formats'] + + self._sort_formats(formats) + self._remove_duplicate_formats(formats) + + return { + 'id': video_id, + 'title': title, + 'formats': formats, + 'thumbnail': self._og_search_thumbnail(webpage), + 'description': self._og_search_description(webpage), + 'subtitles': entries.get('subtitles'), + } |