diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-06-18 04:40:48 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-06-18 04:40:48 +0700 |
commit | f011876076a9fc4ee3fcb8b17f8bc2bcf5c8b8b0 (patch) | |
tree | a436150a67087fa0277e57cfd1ea451ef62f83c2 /youtube_dl/extractor/nick.py | |
parent | 6929569403aeade9aced5c4103db652e9c16bdca (diff) |
[nickde] Add extractor (Closes #9778)
Diffstat (limited to 'youtube_dl/extractor/nick.py')
-rw-r--r-- | youtube_dl/extractor/nick.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/youtube_dl/extractor/nick.py b/youtube_dl/extractor/nick.py index ce065f2b0..e96013791 100644 --- a/youtube_dl/extractor/nick.py +++ b/youtube_dl/extractor/nick.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from .mtv import MTVServicesInfoExtractor from ..compat import compat_urllib_parse_urlencode +from ..utils import update_url_query class NickIE(MTVServicesInfoExtractor): @@ -61,3 +62,26 @@ class NickIE(MTVServicesInfoExtractor): def _extract_mgid(self, webpage): return self._search_regex(r'data-contenturi="([^"]+)', webpage, 'mgid') + + +class NickDeIE(MTVServicesInfoExtractor): + IE_NAME = 'nick.de' + _VALID_URL = r'https?://(?:www\.)?nick\.de/(?:playlist|shows)/(?:[^/]+/)*(?P<id>[^/?#&]+)' + _TESTS = [{ + 'url': 'http://www.nick.de/playlist/3773-top-videos/videos/episode/17306-zu-wasser-und-zu-land-rauchende-erdnusse', + 'only_matching': True, + }, { + 'url': 'http://www.nick.de/shows/342-icarly', + 'only_matching': True, + }] + + def _real_extract(self, url): + video_id = self._match_id(url) + + webpage = self._download_webpage(url, video_id) + + mrss_url = update_url_query(self._search_regex( + r'data-mrss=(["\'])(?P<url>http.+?)\1', webpage, 'mrss url', group='url'), + {'siteKey': 'nick.de'}) + + return self._get_videos_info_from_url(mrss_url, video_id) |