diff options
| -rw-r--r-- | youtube_dl/extractor/nick.py | 45 | 
1 files changed, 45 insertions, 0 deletions
diff --git a/youtube_dl/extractor/nick.py b/youtube_dl/extractor/nick.py index cae8faf3e..f38c2c725 100644 --- a/youtube_dl/extractor/nick.py +++ b/youtube_dl/extractor/nick.py @@ -79,6 +79,51 @@ class NickIE(MTVServicesInfoExtractor):          return self._get_videos_info(video_data['player'] + video_data['id']) +class NickBeIE(MTVServicesInfoExtractor): +    IE_NAME = 'nickelodeon:br' +    _VALID_URL = r'https?://(?P<domain>(?:www\.)?nickjr|mundonick\.uol)\.com\.br/(?:programas/)?[^/]+/videos/(?:episodios/)?(?P<id>[^/?#.]+)' +    _TESTS = [{ +        'url': 'http://www.nickjr.com.br/patrulha-canina/videos/210-labirinto-de-pipoca/', +        'only_matching': True, +    }, { +        'url': 'http://mundonick.uol.com.br/programas/the-loud-house/videos/muitas-irmas/7ljo9j', +        'only_matching': True, +    }] + +    def _real_extract(self, url): +        domain, display_id = re.match(self._VALID_URL, url).groups() +        webpage = self._download_webpage(url, display_id) +        uri = self._search_regex( +            r'data-(?:contenturi|mgid)="([^"]+)', webpage, 'mgid') +        video_id = self._id_from_uri(uri) +        config = self._download_json( +            'http://media.mtvnservices.com/pmt/e1/access/index.html', +            video_id, query={ +                'uri': uri, +                'configtype': 'edge', +            }, headers={ +                'Referer': url, +            }) +        info_url = self._remove_template_parameter(config['feedWithQueryParams']) +        if info_url == 'None': +            if domain.startswith('www.'): +                domain = domain[4:] +            content_domain = { +                'mundonick.uol': 'mundonick.com.br', +                'nickjr': 'br.nickelodeonjunior.tv', +            }[domain] +            query = { +                'mgid': uri, +                'imageEp': content_domain, +                'arcEp': content_domain, +            } +            if domain == 'nickjr.com.br': +                query['ep'] = 'c4b16088' +            info_url = update_url_query( +                'http://feeds.mtvnservices.com/od/feed/intl-mrss-player-feed', query) +        return self._get_videos_info_from_url(info_url, video_id) + +  class NickDeIE(MTVServicesInfoExtractor):      IE_NAME = 'nick.de'      _VALID_URL = r'https?://(?:www\.)?(?P<host>nick\.(?:de|com\.pl|ch)|nickelodeon\.(?:nl|be|at|dk|no|se))/[^/]+/(?:[^/]+/)*(?P<id>[^/?#&]+)'  | 
