diff --git a/src/you_get/common.py b/src/you_get/common.py index fd956408..8b73088b 100755 --- a/src/you_get/common.py +++ b/src/you_get/common.py @@ -66,6 +66,7 @@ SITES = { 'tumblr' : 'tumblr', 'twimg' : 'twitter', 'twitter' : 'twitter', + 'videomega' : 'videomega', 'vidto' : 'vidto', 'vimeo' : 'vimeo', 'weibo' : 'miaopai', diff --git a/src/you_get/extractors/__init__.py b/src/you_get/extractors/__init__.py index 380c5736..7b3c6a71 100755 --- a/src/you_get/extractors/__init__.py +++ b/src/you_get/extractors/__init__.py @@ -58,6 +58,7 @@ from .tudou import * from .tumblr import * from .twitter import * from .veoh import * +from .videomega import * from .vimeo import * from .vine import * from .vk import * diff --git a/src/you_get/extractors/videomega.py b/src/you_get/extractors/videomega.py new file mode 100644 index 00000000..7b8ce480 --- /dev/null +++ b/src/you_get/extractors/videomega.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +from ..common import * +from ..extractor import VideoExtractor + +import ssl + +class Videomega(VideoExtractor): + name = "Videomega" + + stream_types = [ + {'id': 'original'} + ] + + def prepare(self, **kwargs): + # Hot-plug cookie handler + ssl_context = request.HTTPSHandler( + context=ssl.SSLContext(ssl.PROTOCOL_TLSv1)) + cookie_handler = request.HTTPCookieProcessor() + opener = request.build_opener(ssl_context, cookie_handler) + opener.addheaders = [('Referer', self.url), + ('Cookie', 'noadvtday=0')] + request.install_opener(opener) + + ref = match1(self.url, r'ref=(\w+)') + php_url = 'http://videomega.tv/view.php?ref=' + ref + content = get_content(php_url) + + self.title = match1(content, r'(.*)') + js = match1(content, r'(eval.*)') + t = match1(js, r'\$\("\d+"\)\.\d+\("\d+","([^"]+)"\)') + t = re.sub(r'(\w)', r'{\1}', t) \ + .replace('a', '10') \ + .replace('b', '11') \ + .replace('c', '12') \ + .replace('d', '13') \ + .replace('e', '14') \ + .replace('f', '15') \ + .replace('g', '16') + s = match1(js, r"'([^']+)'\.split").split('|') + self.streams['original'] = { + 'url': t.format(*s) + } + + def extract(self, **kwargs): + for i in self.streams: + s = self.streams[i] + _, s['container'], s['size'] = url_info(s['url']) + s['src'] = [s['url']] + +site = Videomega() +download = site.download_by_url +download_playlist = site.download_by_url