X-Git-Url: https://git.rapsys.eu/youtubedl/blobdiff_plain/6d835d4d6903cf5e18ad01844736929e06d16004..eeb287ed58128659e5de200bba1e0762fb972560:/youtube_dl/extractor/videomega.py diff --git a/youtube_dl/extractor/videomega.py b/youtube_dl/extractor/videomega.py index 29c4e01..2730303 100644 --- a/youtube_dl/extractor/videomega.py +++ b/youtube_dl/extractor/videomega.py @@ -4,8 +4,12 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..utils import ( +from ..compat import ( compat_urllib_parse, + compat_urllib_request, +) +from ..utils import ( + ExtractorError, remove_start, ) @@ -16,36 +20,40 @@ class VideoMegaIE(InfoExtractor): (?:iframe\.php)?\?ref=(?P[A-Za-z0-9]+) ''' _TEST = { - 'url': 'http://videomega.tv/?ref=GKeGPVedBe', - 'md5': '240fb5bcf9199961f48eb17839b084d6', + 'url': 'http://videomega.tv/?ref=QR0HCUHI1661IHUCH0RQ', + 'md5': 'bf5c2f95c4c917536e80936af7bc51e1', 'info_dict': { - 'id': 'GKeGPVedBe', + 'id': 'QR0HCUHI1661IHUCH0RQ', 'ext': 'mp4', - 'title': 'XXL - All Sports United', + 'title': 'Big Buck Bunny', 'thumbnail': 're:^https?://.*\.jpg$', } } def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') + video_id = self._match_id(url) + + iframe_url = 'http://videomega.tv/iframe.php?ref={0:}'.format(video_id) + req = compat_urllib_request.Request(iframe_url) + req.add_header('Referer', url) + webpage = self._download_webpage(req, video_id) - url = 'http://videomega.tv/iframe.php?ref={0:}'.format(video_id) - webpage = self._download_webpage(url, video_id) + try: + escaped_data = re.findall(r'unescape\("([^"]+)"\)', webpage)[-1] + except IndexError: + raise ExtractorError('Unable to extract escaped data') - escaped_data = self._search_regex( - r'unescape\("([^"]+)"\)', webpage, 'escaped data') playlist = compat_urllib_parse.unquote(escaped_data) thumbnail = self._search_regex( r'image:\s*"([^"]+)"', playlist, 'thumbnail', fatal=False) - url = self._search_regex(r'file:\s*"([^"]+)"', playlist, 'URL') + video_url = self._search_regex(r'file:\s*"([^"]+)"', playlist, 'URL') title = remove_start(self._html_search_regex( r'(.*?)', webpage, 'title'), 'VideoMega.tv - ') formats = [{ 'format_id': 'sd', - 'url': url, + 'url': video_url, }] self._sort_formats(formats) @@ -54,4 +62,7 @@ class VideoMegaIE(InfoExtractor): 'title': title, 'formats': formats, 'thumbnail': thumbnail, + 'http_headers': { + 'Referer': iframe_url, + }, }