diff options
Diffstat (limited to 'youtube_dl/extractor')
-rw-r--r-- | youtube_dl/extractor/__init__.py | 1 | ||||
-rw-r--r-- | youtube_dl/extractor/megavideozeu.py | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 1bb3e1a1c..5316af2d1 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -267,6 +267,7 @@ from .macgamestore import MacGameStoreIE from .mailru import MailRuIE from .malemotion import MalemotionIE from .mdr import MDRIE +from .megavideozeu import MegavideozeuIE from .metacafe import MetacafeIE from .metacritic import MetacriticIE from .mgoon import MgoonIE diff --git a/youtube_dl/extractor/megavideozeu.py b/youtube_dl/extractor/megavideozeu.py new file mode 100644 index 000000000..e77b5f734 --- /dev/null +++ b/youtube_dl/extractor/megavideozeu.py @@ -0,0 +1,39 @@ +# encoding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import ( + int_or_none, + parse_filesize, + unified_strdate, +) + + +class MegavideozeuIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?megavideoz\.eu/video/(?P<id>.*)(?:.*)' + + def _real_extract(self, url): + tmp_video_id = self._match_id(url) + + webpage = self._download_webpage(url, tmp_video_id) + + config_php = self._html_search_regex( + r'var cnf = \'([^\']+)\'', webpage, 'config.php url') + + configpage = self._download_webpage(config_php, tmp_video_id) + + video_id = self._html_search_regex( + r'<mediaid>([^<]+)', configpage, 'video id') + video_url = self._html_search_regex( + r'<file>([^<]+)', configpage, 'video URL') + title = self._html_search_regex( + r'<title><!\[CDATA\[([^\]]+)', configpage, 'title') + duration = int_or_none(self._html_search_regex( + r'<duration>([0-9]+)', configpage, 'duration', fatal=False)) + + return { + 'id': video_id, + 'url': video_url, + 'title': title, + 'duration': duration + } |