diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 4adcae1e5..a09c12518 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -1494,6 +1494,7 @@ from .youtube import ( YoutubeUserIE, YoutubeWatchLaterIE, ) +from .youtuner import YoutunerIE from .zapiks import ZapiksIE from .zaq1 import Zaq1IE from .zattoo import ( diff --git a/youtube_dl/extractor/youtuner.py b/youtube_dl/extractor/youtuner.py new file mode 100644 index 000000000..34e3ceed7 --- /dev/null +++ b/youtube_dl/extractor/youtuner.py @@ -0,0 +1,34 @@ +# coding: utf-8 +from __future__ import unicode_literals +from .common import InfoExtractor +from ..compat import compat_urlparse + + +class YoutunerIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?youtuner\.co/s/(?P[0-9]+)' + _TEST = { + 'url': 'https://youtuner.co/s/149379', + 'md5': '1f9672e4c264f374101ded6a41e2540a', + 'info_dict': { + 'id': '149379', + 'ext': 'mp3', + 'title': 'Anime Crazies episódio 100! - Como tudo começou?', + 'uploader': 'Anime Crazies', + 'thumbnail': r're:^https?://.*\.jpg$', + } + } + + def _real_extract(self, url): + video_id = self._match_id(url) + + webpage = self._download_webpage(url, video_id) + thumbnail = "{0.scheme}://{0.netloc}/{1}".format(compat_urlparse.urlsplit(url), self._search_regex(r"]*>[^<]+]+style=\"[^']+'([^']+)'", webpage, 'thumbnail')) + title = self._html_search_regex(r'

(.+?)

', webpage, 'title') + url = self._html_search_regex(r']+href=\"([^>]*)\"[^>]*>Baixar', webpage, 'url') + return { + 'id': video_id, + 'title': title, + 'uploader': self._search_regex(r']+class=\"entry-meta\"[^>]*>[^<]+([^<]+)<', webpage, 'uploader', fatal=False), + 'url': url, + 'thumbnail': thumbnail, + }