From f8a4a388804c87d6a8042896a18d5e4986b7f782 Mon Sep 17 00:00:00 2001 From: ealgase Date: Wed, 21 Nov 2018 15:20:41 -0500 Subject: [PATCH] [narando] add separate [narando:player] extractor --- youtube_dl/extractor/extractors.py | 5 ++- youtube_dl/extractor/narando.py | 66 ++++++++++++++---------------- 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 2c1df5efe..c3d1b81a3 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -672,7 +672,10 @@ from .myvi import ( MyviEmbedIE, ) from .myvidster import MyVidsterIE -from .narando import NarandoIE +from .narando import ( + NarandoIE, + NarandoPlayerIE, +) from .nationalgeographic import ( NationalGeographicVideoIE, NationalGeographicIE, diff --git a/youtube_dl/extractor/narando.py b/youtube_dl/extractor/narando.py index eea445427..c8a8ef30c 100644 --- a/youtube_dl/extractor/narando.py +++ b/youtube_dl/extractor/narando.py @@ -4,6 +4,33 @@ from __future__ import unicode_literals from .common import InfoExtractor +class NarandoPlayerIE(InfoExtractor): + IE_NAME = "narando:player" + _VALID_URL = r'https://narando.com/widget\?r=(?P\w+)' + _TEST = { + 'url': 'https://narando.com/widget?r=b2t4t789kxgy9g7ms4rwjvvw', + 'md5': 'd20f671f0395bab8f8285d1f6e8f965e', + 'info_dict': { + 'id': 'b2t4t789kxgy9g7ms4rwjvvw', + 'ext': 'mp3', + 'title': 'An ihrem Selbstlob erkennt man sie', + 'url': 'https://static.narando.com/sounds/10492/original.mp3', + } + } + + def _real_extract(self, url): + video_id = self._match_id(url) + webpage = self._download_webpage('https://narando.com/widget?r=' + video_id, video_id) + title = self._html_search_regex(r'narando \| (.+?)', webpage, 'title') + download_url = self._html_search_regex(r'.
\s*([^?]*)', webpage, 'download_url') + + return { + 'id': video_id, + 'title': title, + 'url': download_url, + } + + class NarandoIE(InfoExtractor): IE_NAME = "narando" _VALID_URL = r'https?://(?:www\.)?narando\.com/articles/(?P([a-zA-Z]|-)+)' @@ -22,48 +49,17 @@ class NarandoIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage('https://narando.com/articles/' + video_id, video_id) - title = self._html_search_regex(r'

(.+?)

', webpage, 'title') - player_id = self._html_search_regex(r'[\n\r].*https:\/\/narando.com\/r\/\s*([^"]*)', webpage, 'player_id') - player_page = self._download_webpage('https://narando.com/widget?r=' + player_id, player_id) - download_url = self._html_search_regex(r'.
\s*([^?]*)', player_page, 'url') -# download_url = NarandoPlayerIE()._real_extract('https://narando.com/widget?r=' + player_id)['url'] + player_url = 'https://narando.com/widget?r=' + player_id description = self._html_search_regex(r'', webpage, 'description') + return { 'display_id': video_id, 'id': player_id, 'title': title, - 'url': download_url, + 'url': player_url, 'description': description, + '_type': 'url', } - -"""to be implemented later -class NarandoPlayerIE(InfoExtractor): - IE_NAME = "narando:player" - _VALID_URL = r'https://narando.com/widget\?r=(?P\w+)' - _TEST = { - 'url': 'https://narando.com/widget?r=b2t4t789kxgy9g7ms4rwjvvw', - 'md5': 'd20f671f0395bab8f8285d1f6e8f965e', - 'info_dict': { - 'id': 'b2t4t789kxgy9g7ms4rwjvvw', - 'ext': 'mp3', - 'title': 'An ihrem Selbstlob erkennt man sie', - 'url': 'https://static.narando.com/sounds/10492/original.mp3', - } - } - - def _real_extract(self, url): - video_id = self._match_id(url) - webpage = self._download_webpage('https://narando.com/widget?r=' + video_id, video_id) - title = self._html_search_regex(r'narando \| (.+?)', webpage, 'title') - - download_url = self._html_search_regex(r'.
\s*([^?]*)', webpage, 'download_url') - return { - 'id': video_id, - 'title': title, - 'url': download_url, - } -"""