From 173d26caeff2e20d050c16359d88791101021a8b Mon Sep 17 00:00:00 2001 From: oksilapokyw Date: Sat, 25 Mar 2017 01:45:52 +0100 Subject: [PATCH] [Vidlox] Add new extractor --- youtube_dl/extractor/extractors.py | 1 + youtube_dl/extractor/vidlox.py | 37 ++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 youtube_dl/extractor/vidlox.py diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 40a5c9842..bb6ae9dc7 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -1126,6 +1126,7 @@ from .vidme import ( VidmeUserIE, VidmeUserLikesIE, ) +from .vidlox import VidloxIE from .vidzi import VidziIE from .vier import VierIE, VierVideosIE from .viewlift import ( diff --git a/youtube_dl/extractor/vidlox.py b/youtube_dl/extractor/vidlox.py new file mode 100644 index 000000000..f72590879 --- /dev/null +++ b/youtube_dl/extractor/vidlox.py @@ -0,0 +1,37 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor + + +class VidloxIE(InfoExtractor): + _VALID_URL = r'https?://vidlox\.tv(/embed-|/)(?P[0-9a-z]+)(\.html)?' + _TESTS = [{ + 'url': 'https://vidlox.tv/nc11cfucpp3m', + 'md5': 'e3a7e1b5edee55570e35fd7641ffb174', + 'info_dict': { + 'id': 'nc11cfucpp3m', + 'ext': 'mp4', + 'title': 'Tetris cyka', + } + }, { + 'url': 'https://vidlox.tv/embed-nc11cfucpp3m.html', + 'only_matching': True, + }] + + def _real_extract(self, url): + video_id = self._match_id(url) + url = 'https://vidlox.tv/' + video_id + webpage = self._download_webpage(url, video_id) + title = self._html_search_regex( + r']*?)>(?P.+)', + webpage, 'title', group=2) + m3u = self._html_search_regex( + r'sources:([\s]+?)\["(?P<url>.+?)",', + webpage, 'm3u', group=2) + formats = self._extract_m3u8_formats(m3u, video_id, ext='mp4', entry_protocol='m3u8_native', m3u8_id='hls', fatal=False) + return { + 'id': video_id, + 'title': title, + 'formats': formats + }