def resolve(url): try: result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs = { "action": "" }) k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post.update({'method_free': 'Free Download'}) post = urllib.urlencode(post) result = client.request(url, post=post) post = {} f = client.parseDOM(result, "Form", attrs = { "action": "" }) k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post.update({'method_free': 'Free Download'}) try: post.update(captcha.request(result)) except: pass post = urllib.urlencode(post) result = client.request(url, post=post) url = client.parseDOM(result, "a", ret="onClick") url = [i for i in url if i.startswith('window.open')][0] url = re.compile('[\'|\"](.+?)[\'|\"]').findall(url)[0] return url except: return
def resolve(url): try: url = re.compile('//.+?/([\w]+)').findall(url)[0] url = 'http://180upload.com/embed-%s.html' % url result = client.request(url) post = {} f = client.parseDOM(result, "form", attrs={"id": "captchaForm"})[0] k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post = urllib.urlencode(post) result = client.request(url, post=post) result = re.compile('(eval.*?\)\)\))').findall(result)[-1] url = jsunpack.unpack(result) return url except: return
def resolve(self, url): try: result = client.request(url) if not "my_video" in result: cookie = client.request(self.sign_link, post=self.key_link, output="cookie") result = client.request(url, cookie=cookie) url = None try: url = client.parseDOM(result, "source", ret="src", attrs={"type": "video/webm"})[0] except: pass try: url = client.parseDOM(result, "source", ret="src", attrs={"type": "video/mp4"})[0] except: pass if url == None: return url = urlparse.urljoin(self.base_link, url) url = "%s|Cookie=%s" % (url, urllib.quote_plus("video=true")) return url except: return
def resolve(url): try: channel = urlparse.urlparse(url).path channel = re.compile('/([\w]+)').findall(channel)[-1] domain = urlparse.urlparse(url).netloc pageUrl = urlparse.urljoin('http://%s' % domain, channel) if 'instagib' in domain: playpath = 'instagib_%s' % channel elif 'breakers' in domain: playpath = 'btv_%s' % channel elif 'vapers' in domain: playpath = 'vtv_%s' % channel else: playpath = 'live_%s' % channel result = client.request(pageUrl, referer=pageUrl) swfUrl = re.compile('"(/\d+/swf/[0-9A-Za-z]+\.swf)').findall(result)[0] swfUrl = urlparse.urljoin(pageUrl, swfUrl) infoUrl = 'http://mvn.vaughnsoft.net/video/edge/%s_%s' % (domain, channel) result = client.request(infoUrl) streamer = re.compile('(.+?);').findall(result)[0] streamer = 'rtmp://%s/live' % streamer app = re.compile('mvnkey-(.+)').findall(result)[0] app = 'live?%s' % app url = '%s app=%s playpath=%s pageUrl=%s swfUrl=%s swfVfy=true live=true timeout=20' % (streamer, app, playpath, pageUrl, swfUrl) return url except: return
def resolve(url): try: result = client.request(url, close=False) post = {} f = client.parseDOM(result, "Form", attrs={"method": "POST"})[0] k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post.update({'method_free': 'Continue to Video'}) post = urllib.urlencode(post) result = client.request(url, post=post, close=False) js = re.compile('src *= *[\'|\"](.+?)[\'|\"]').findall(result) js = [i for i in js if '/videojs/' in i][0] result = client.request(js, close=False) result = result.replace('\n', '') url = re.compile('sources *: *\[.+?\]').findall(result)[-1] url = re.compile('file *: *[\'|\"](http.+?)[\'|\"]').findall(url)[0] return url except: return
def resolve(url): try: result = client.request(url, mobile=True, close=False) try: post = {} f = client.parseDOM(result, "Form", attrs = { "method": "POST" })[0] f = f.replace('"submit"', '"hidden"') k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post = urllib.urlencode(post) except: post=None for i in range(0, 10): try: result = client.request(url, post=post, mobile=True, close=False) result = result.replace('\n','') result = re.compile('sources *: *\[.+?\]').findall(result)[-1] result = re.compile('file *: *"(http.+?)"').findall(result) url = [i for i in result if '.m3u8' in i] if len(url) > 0: return url[0] url = [i for i in result if not '.m3u8' in i] if len(url) > 0: return url[0] except: time.sleep(1) except: return
def resolve(url): try: result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs={"action": ""})[0] k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post.update({'method_free': ' '}) post = urllib.urlencode(post) result = client.request(url, post=post) post = {} f = client.parseDOM(result, "Form", attrs={"action": ""})[0] k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post.update({'method_free': ' '}) post.update(captcha.request(result)) post = urllib.urlencode(post) result = client.request(url, post=post) url = re.compile("var\s+download_url *= *'(.+?)'").findall(result)[0] return url except: return
def resolve(url): try: user = control.setting('movreel_user') password = control.setting('movreel_password') login = '******' post = {'op': 'login', 'login': user, 'password': password, 'redirect': url} post = urllib.urlencode(post) result = client.request(url, close=False) result += client.request(login, post=post, close=False) post = {} f = client.parseDOM(result, "Form", attrs = { "name": "F1" })[-1] k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post.update({'method_free': '', 'method_premium': ''}) post = urllib.urlencode(post) request = urllib2.Request(url, post) for i in range(0, 3): try: response = urllib2.urlopen(request, timeout=10) result = response.read() response.close() url = re.compile('(<a .+?</a>)').findall(result) url = [i for i in url if 'Download Link' in i][-1] url = client.parseDOM(url, "a", ret="href")[0] return url except: time.sleep(1) except: return
def resolve(url): try: url = url.replace('/embed-', '/') url = re.compile('//.+?/([\w]+)').findall(url)[0] url = 'http://grifthost.com/embed-%s.html' % url result = client.request(url) try: post = {} f = client.parseDOM(result, "Form", attrs = { "method": "POST" })[0] f = f.replace('"submit"', '"hidden"') k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post = urllib.urlencode(post) result = client.request(url, post=post) except: pass result = re.compile('(eval.*?\)\)\))').findall(result)[-1] result = jsunpack.unpack(result) url = client.parseDOM(result, "embed", ret="src") url += re.compile("file *: *[\'|\"](.+?)[\'|\"]").findall(result) url = [i for i in url if not i.endswith('.srt')] url = 'http://' + url[0].split('://', 1)[-1] return url except: return
def resolve(url): try: if '/vod/' in url: url = re.compile('/(\d+)').findall(url)[-1] url = 'http://www.filmon.com/vod/info/%s' % url elif '/tv/' in url: url = url.replace('/tv/', '/channel/') elif not '/channel/' in url: raise Exception() headers = {'X-Requested-With': 'XMLHttpRequest'} result = client.request(url, headers=headers) result = json.loads(result) try: result = result['streams'] except: result = result['data']['streams'] result = [i[1] for i in result.iteritems()] strm = [(i['url'], int(i['watch-timeout'])) for i in result] strm = [i for i in strm if '.m3u8' in i[0]] strm.sort() strm = strm[-1][0] url = client.request(strm).splitlines() url = [i for i in url if '.m3u8' in i] if len(url) == 0: return strm url = urlparse.urljoin(strm, url[0]) return url except: return
def resolve(url): try: channel = urlparse.urlparse(url).path channel = re.compile('/([\w]+)').findall(channel)[-1] domain = urlparse.urlparse(url).netloc pageUrl = urlparse.urljoin('http://%s' % domain, channel) if 'instagib' in domain: playpath = 'instagib_%s' % channel elif 'breakers' in domain: playpath = 'btv_%s' % channel elif 'vapers' in domain: playpath = 'vtv_%s' % channel else: playpath = 'live_%s' % channel result = client.request(pageUrl, referer=pageUrl) swfUrl = re.compile('"(/\d+/swf/[0-9A-Za-z]+\.swf)').findall(result)[0] swfUrl = urlparse.urljoin(pageUrl, swfUrl) infoUrl = 'http://mvn.vaughnsoft.net/video/edge/%s_%s' % (domain, channel) result = client.request(infoUrl) streamer = re.compile('(.+?);').findall(result)[0] streamer = 'rtmp://%s/live' % streamer app = re.compile('mvnkey-(.+)').findall(result)[0] app = 'live?%s' % app url = '%s app=%s playpath=%s pageUrl=%s swfUrl=%s swfVfy=true live=true timeout=20' % ( streamer, app, playpath, pageUrl, swfUrl) return url except: return
def resolve(url): try: result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs={"method": "POST"})[0] k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post.update({'method_free': 'Free Download'}) post = urllib.urlencode(post) result = client.request(url, post=post) result = re.compile('(eval.*?\)\)\))').findall(result)[0] url = jsunpack.unpack(result) result = client.request(url) url = client.parseDOM(result, "file")[0] return url except: return
def resolve(url): try: result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs={"action": ""}) k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post.update({'method_free': 'Watch Free!'}) post = urllib.urlencode(post) result = client.request(url, post=post) result = client.parseDOM(result, "script", attrs={"type": ".+?"}) result = (''.join(result)).replace(' ', '').replace('\'', '"') result = re.compile('file:"(http.+?m3u8)"').findall(result) for u in result: url = client.request(u, output='geturl') if not url == None: return url except: return
def resolve(url): try: url = re.compile('//.+?/([\w]+)').findall(url)[0] url = 'http://www.movdivx.com/%s' % url result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs={"action": ""})[0] k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post.update({'method_free': 'Free Download'}) post = urllib.urlencode(post) result = client.request(url, post=post) result = re.compile('(eval.*?\)\)\))').findall(result)[-1] url = jsunpack.unpack(result) return url except: return
def resolve(url): try: url = re.compile('//.+?/([\w]+)').findall(url)[0] url = 'http://www.movdivx.com/%s' % url result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs = { "action": "" })[0] k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post.update({'method_free': 'Free Download'}) post = urllib.urlencode(post) result = client.request(url, post=post) result = re.compile('(eval.*?\)\)\))').findall(result)[-1] result = jsunpack.unpack(result) url = client.parseDOM(result, "embed", ret="src") url += re.compile("file *: *[\'|\"](.+?)[\'|\"]").findall(result) url = [i for i in url if not i.endswith('.srt')] url = 'http://' + url[0].split('://', 1)[-1] return url except: return
def resolve(self, url): try: result = client.request(url) result = result.decode('iso-8859-1').encode('utf-8') url = client.parseDOM(result, "div", attrs = { "class": "player-embed" })[0] url = client.parseDOM(url, "iframe", ret="src")[0] if not 'auengine.com' in url: url = client.parseDOM(result, "div", attrs = { "class": "generic-video-item" }) url = [i for i in url if 'auengine video' in i.lower()][0] url = client.parseDOM(url, "a", ret="href")[0] url = urlparse.urljoin(self.base_link, url) result = client.request(url) result = result.decode('iso-8859-1').encode('utf-8') url = client.parseDOM(result, "div", attrs = { "class": "player-embed" })[0] url = client.parseDOM(url, "iframe", ret="src")[0] result = client.request(url) url = re.compile("video_link *= *'(.+?)'").findall(result)[0] url = urllib.unquote_plus(url) return url except: return
def resolve(self, url): try: result = client.request(url) if not "my_video" in result: cookie = client.request(self.sign_link, post=self.key_link, output='cookie') result = client.request(url, cookie=cookie) url = None try: url = client.parseDOM(result, "source", ret="src", attrs={"type": "video/webm"})[0] except: pass try: url = client.parseDOM(result, "source", ret="src", attrs={"type": "video/mp4"})[0] except: pass if url == None: return url = urlparse.urljoin(self.base_link, url) url = '%s|Cookie=%s' % (url, urllib.quote_plus('video=true')) return url except: return
def resolve(url): try: result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs = { "action": "" }) k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post.update({'method_free': 'Watch Free!'}) post = urllib.urlencode(post) result = client.request(url, post=post) result = result.replace('\\/', '/').replace('\n', '').replace('\'', '"').replace(' ', '') swfUrl = re.compile('\.embedSWF\("(.+?)"').findall(result)[0] swfUrl = urlparse.urljoin(url, swfUrl) streamer = re.compile('flashvars=.+?"file":"(.+?)"').findall(result)[0] playpath = re.compile('flashvars=.+?p2pkey:"(.+?)"').findall(result)[0] url = '%s playpath=%s conn=S:%s pageUrl=%s swfUrl=%s swfVfy=true timeout=20' % (streamer, playpath, playpath, url, swfUrl) return url except: return
def resolve(url): try: url = re.compile('//.+?/([\w]+)').findall(url)[0] url = 'http://180upload.com/embed-%s.html' % url result = client.request(url) post = {} f = client.parseDOM(result, "form", attrs = { "id": "captchaForm" })[0] k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post = urllib.urlencode(post) result = client.request(url, post=post) result = re.compile('(eval.*?\)\)\))').findall(result)[-1] result = jsunpack.unpack(result) url = client.parseDOM(result, "embed", ret="src") url += re.compile("'file' *, *'(.+?)'").findall(result) url = [i for i in url if not i.endswith('.srt')] url = 'http://' + url[0].split('://', 1)[-1] return url except: return
def resolve(url): try: result = client.request(url) post = {} f = client.parseDOM(result, "Form", attrs = { "action": "" })[0] k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post.update({'method_free': ' '}) post = urllib.urlencode(post) result = client.request(url, post=post) post = {} f = client.parseDOM(result, "Form", attrs = { "action": "" })[0] k = client.parseDOM(f, "input", ret="name", attrs = { "type": "hidden" }) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post.update({'method_free': ' '}) post.update(captcha.request(result)) post = urllib.urlencode(post) result = client.request(url, post=post) url = re.compile("var\s+download_url *= *'(.+?)'").findall(result)[0] return url except: return
def resolve(self, url): try: query = urlparse.urljoin(self.base_link, self.login_link) post = urllib.urlencode({'login': self.user, 'pwd': self.password}) cookie = client.request(query, post=post, output='cookie') result = client.request(url, cookie=cookie) url = client.parseDOM(result, "location")[0] return url except: return
def resolve(url): try: result = client.request(url, close=False) f = client.parseDOM(result, "a", ret="href", attrs = { "id": "go-next" })[0] f = urlparse.urljoin(url, f) result = client.request(f) url = re.compile("var\s+lnk\d* *= *'(http.+?)'").findall(result)[0] return url except: return
def resolve(self, url): try: if urlparse.urlparse(url).netloc in self.base_link: return self.__resolve(client.request(url)) if url.startswith('stack://'): return url url = client.request(url, output='geturl') if 'requiressl=yes' in url: url = url.replace('http://', 'https://') else: url = url.replace('https://', 'http://') return url except: return
def resolve(url): try: base = url.replace('https://', 'http://') result = str(client.request(base)) u = re.compile('url(720|540|480|360|240)=(.+?)&').findall(result) url = [] try: url += [[{'quality': 'HD', 'url': i[1]} for i in u if i[0] == '720'][0]] except: pass try: url += [[{'quality': 'SD', 'url': i[1]} for i in u if i[0] == '540'][0]] except: pass try: url += [[{'quality': 'SD', 'url': i[1]} for i in u if i[0] == '480'][0]] except: pass if not url == []: return url try: url += [[{'quality': 'SD', 'url': i[1]} for i in u if i[0] == '360'][0]] except: pass if not url == []: return url try: url += [[{'quality': 'SD', 'url': i[1]} for i in u if i[0] == '240'][0]] except: pass if not url == []: return url try: s = 'http://www.vkvideosearch.com/video.php?v=%s' % re.compile('video(.+_.+)').findall(base)[0] except: pass try: s = 'http://www.vkvideosearch.com/video.php?v=%s_%s' % (urlparse.parse_qs(urlparse.urlparse(base).query)['oid'][0], urlparse.parse_qs(urlparse.urlparse(base).query)['id'][0]) except: pass result = str(client.request(s)) u = re.compile('<a href="(.+?)">(720|540|480|360|240)p</a>').findall(result) url = [] try: url += [[{'quality': 'HD', 'url': i[0]} for i in u if i[1] == '720'][0]] except: pass try: url += [[{'quality': 'SD', 'url': i[0]} for i in u if i[1] == '540'][0]] except: pass try: url += [[{'quality': 'SD', 'url': i[0]} for i in u if i[1] == '480'][0]] except: pass if not url == []: return url try: url += [[{'quality': 'SD', 'url': i[0]} for i in u if i[1] == '360'][0]] except: pass if not url == []: return url try: url += [[{'quality': 'SD', 'url': i[0]} for i in u if i[1] == '240'][0]] except: pass if not url == []: return url except: return
def resolve(url): try: result = client.request(url, close=False) f = client.parseDOM(result, "a", ret="href", attrs={"id": "go-next"})[0] f = urlparse.urljoin(url, f) result = client.request(f) url = re.compile("var\s+lnk\d* *= *'(http.+?)'").findall(result)[0] return url except: return
def resolve(url): try: result = client.request(url) url = re.compile("file *: *'(http.+?)'").findall(result)[-1] return url except: return
def resolve(url): try: result = client.request(url) post = {} try: f = client.parseDOM(result, "form", attrs = { "method": "POST" })[0] except: f = '' k = client.parseDOM(f, "input", ret="name") for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs = { "name": i })[0]}) post = urllib.urlencode(post) result = client.request(url, post=post) url = re.compile("var\s+lnk\d* *= *'(http.+?)'").findall(result)[0] return url except: return
def nhlResolve(url): try: try: url, selectGame, side = re.compile('(.+?)x0xe(.+?)x0xe(.+?)$').findall(url)[0] except: selectGame, side = None, None header = '|' + urllib.urlencode({'User-Agent': 'PS4 libhttp/1.76 (PlayStation 4)'}) base = re.compile('(.*/).+[.]m3u8').findall(url) if not url.endswith('m3u8'): return player().run(url + header, selectGame ,side) result = client.request(url) result = re.compile('BANDWIDTH=(\d*)\n(.+?[.]m3u8)').findall(result) result = [(int(int(i[0]) / 1000), i[1]) for i in result] result = sorted(result, reverse=True) result = [(str(i[0]), base[0] + i[1]) for i in result] q = [i[0] for i in result] u = [i[1] for i in result] select = control.selectDialog(q, 'Pick A Bandwidth') if select == -1: return url = u[select] player().run(url + header, selectGame ,side) except: return
def resolve(url): try: result = client.request(url, mobile=True) url = client.parseDOM(result, "source", ret="src", attrs = { "type": "video.+?" })[0] return url except: return
def resolve(url): try: result = client.request(url) result = result.replace('\r','').replace('\n','').replace('\t','') result = result.split('"%s"' % (urlparse.urlparse(url).path).split('/')[-1])[-1].split(']]')[0] u = re.compile('\d*,\d*,\d*,"(.+?)"').findall(result) if len(u) == 0: u = re.compile('"url"\s*:\s*"([^"]+)"\s*,\s*"height"\s*:\s*\d+\s*,\s*"width"\s*:\s*\d+\s*,\s*"type"\s*:\s*"video/').findall(result) u = [i.replace('\\u003d','=').replace('\\u0026','&') for i in u][::-1] u = sum([tag(i) for i in u], []) url = [] try: url += [[i for i in u if i['quality'] == '1080p'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'HD'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'SD'][0]] except: pass if url == []: return return url except: return
def resolve(self, url): try: url = client.request(url, output='geturl') url = resolvers.request(url) return url except: return
def resolve(url): try: result = client.request(url, mobile=True) url = re.compile('file *: *"(http.+?)"').findall(result)[0] return url except: return
def resolve(url): try: result = client.request(url) u = re.compile( '"url"\s*:\s*"([^"]+)"\s*,\s*"height"\s*:\s*\d+\s*,\s*"width"\s*:\s*\d+\s*,\s*"type"\s*:\s*"video/' ).findall(result) u += re.compile('\d*,\d*,\d*,"(.+?)"').findall(result) u = [i.replace('\\u003d', '=').replace('\\u0026', '&') for i in u][::-1] u = sum([tag(i) for i in u], []) url = [] try: url += [[i for i in u if i['quality'] == '1080p'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'HD'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'SD'][0]] except: pass if url == []: return return url except: return
def resolve(url): try: result = client.request(url) url = re.compile('path *: *"(http.+?)"').findall(result)[-1] return url except: return
def resolve(url): try: result = client.request(url, close=False) post = {} f = client.parseDOM(result, "Form", attrs={"action": ""}) k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0]}) post.update(captcha.request(result)) post = urllib.urlencode(post) request = urllib2.Request(url, post) for i in range(0, 5): try: response = urllib2.urlopen(request, timeout=10) result = response.read() response.close() if "download2" in result: raise Exception() url = client.parseDOM(result, "a", ret="href", attrs={"target": ""})[0] return url except: time.sleep(1) except: return
def resolve(self, url): try: url = urlparse.urlparse(url).path result = '' links = [self.link_1, self.link_2, self.link_3] for base_link in links: result = client.request(urlparse.urljoin(base_link, url), headers=self.headers) if 'showvideo' in str(result): break result = result.decode('iso-8859-1').encode('utf-8') url = client.parseDOM(result, "div", attrs={"id": "showvideo"})[0] url = url.replace('<IFRAME', '<iframe').replace(' SRC=', ' src=') url = client.parseDOM(url, "iframe", ret="src")[0] url = client.replaceHTMLCodes(url) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['url'][0] except: pass url = resolvers.request(url) return url except: return
def resolve(self, url): try: url = urlparse.urlparse(url).path result = '' links = [self.link_1, self.link_2, self.link_3] for base_link in links: result = client.request(urlparse.urljoin(base_link, url), headers=self.headers) if 'frame' in str(result): break url = re.compile( 'class=[\'|\"]*frame.+?src=[\'|\"|\s|\<]*(.+?)[\'|\"|\s|\>]' ).findall(result)[0] url = client.replaceHTMLCodes(url) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['url'][0] except: pass url = resolvers.request(url) return url except: return
def resolve(self, url): try: result = client.request(url) url = re.compile("'file': '(.+?)'").findall(result)[0] return url except: return
def resolve(url): try: try: oid, id = urlparse.parse_qs(urlparse.urlparse(url).query)['oid'][0] , urlparse.parse_qs(urlparse.urlparse(url).query)['id'][0] except: oid, id = re.compile('\/video(.*)_(.*)').findall(url)[0] try: hash = urlparse.parse_qs(urlparse.urlparse(url).query)['hash'][0] except: hash = _hash(oid, id) u = 'http://api.vk.com/method/video.getEmbed?oid=%s&video_id=%s&embed_hash=%s' % (oid, id, hash) result = client.request(u) result = re.sub(r'[^\x00-\x7F]+',' ', result) try: result = json.loads(result)['response'] except: result = _private(oid, id) url = [] try: url += [{'quality': 'HD', 'url': result['url720']}] except: pass try: url += [{'quality': 'SD', 'url': result['url540']}] except: pass try: url += [{'quality': 'SD', 'url': result['url480']}] except: pass if not url == []: return url try: url += [{'quality': 'SD', 'url': result['url360']}] except: pass if not url == []: return url try: url += [{'quality': 'SD', 'url': result['url240']}] except: pass if not url == []: return url except: return
def nhlArchives(): dt = procTimezone(5) datex = int(dt.strftime('%Y%m%d')) url = 'http://live.nhl.com/GameData/SeasonSchedule-20142015.json' result = client.request(url) items = json.loads(result) items = sorted(items, key=lambda k: k['est'])[::-1] for item in items: try: est = datetime.datetime.strptime(item['est'], '%Y%m%d %H:%M:%S') date = int(est.strftime('%Y%m%d')) if not date <= datex: raise Exception() est = procTimezone(5, est) name = '%s at %s [COLOR gold](%s)[/COLOR] [COLOR red](%s)[/COLOR]' % (item['a'], item['h'], est.strftime('%H:%M'), est.strftime('%Y-%m-%d')) url = str(item['id']) addDirectoryItem(name, url, 'nhlStreams', '0', '0') except: pass endDirectory()
def nhlDirectory(): dt = procTimezone(5) datex = int(dt.strftime('%Y%m%d')) url = 'http://live.nhl.com/GameData/SeasonSchedule-20142015.json' result = client.request(url) items = json.loads(result) items = sorted(items, key=lambda k: k['est']) addDirectoryItem('[COLOR red]Archived Games Click Here[/COLOR]', 'Archived', 'nhlArchives', '0', '0') addDirectoryItem('[COLOR gold]Live Games , Requires some modifications to get working visit forum.[/COLOR]', '0', '0', '0', '0') addDirectoryItem('[COLOR gold]If list returns BLANK, Feed is not up yet.[/COLOR]', '0', '0', '0', '0') for item in items: try: est = datetime.datetime.strptime(item['est'], '%Y%m%d %H:%M:%S') date = int(est.strftime('%Y%m%d')) if not date == datex: raise Exception() est = procTimezone(5, est) name = '%s at %s [COLOR gold](%s)[/COLOR] [COLOR red](%s)[/COLOR]' % (item['a'], item['h'], est.strftime('%H:%M'), est.strftime('%Y-%m-%d')) url = str(item['id']) addDirectoryItem(name, url, 'nhlStreams', '0', '0') except: pass endDirectory()
def resolve(url): try: try: oid, id = urlparse.parse_qs(urlparse.urlparse(url).query)['oid'][0] , urlparse.parse_qs(urlparse.urlparse(url).query)['id'][0] except: oid, id = re.compile('\/video(.*)_(.*)').findall(url)[0] try: hash = urlparse.parse_qs(urlparse.urlparse(url).query)['hash'][0] except: hash = _hash(oid, id) u = 'http://api.vk.com/method/video.getEmbed?oid=%s&video_id=%s&embed_hash=%s' % (oid, id, hash) result = client.request(u) result = json.loads(result) result = result['response'] url = [] try: url += [{'quality': 'HD', 'url': result['url720']}] except: pass try: url += [{'quality': 'SD', 'url': result['url540']}] except: pass try: url += [{'quality': 'SD', 'url': result['url480']}] except: pass if not url == []: return url try: url += [{'quality': 'SD', 'url': result['url360']}] except: pass if not url == []: return url try: url += [{'quality': 'SD', 'url': result['url240']}] except: pass if not url == []: return url except: return
def resolve(url): try: result = client.request(url) result = result.replace("\r", "").replace("\n", "").replace("\t", "") u = re.compile('"\d*/\d*x\d*.+?","(.+?)"').findall(result)[0] u = urllib.unquote_plus(u).decode("unicode-escape") u = re.compile("(http.+?)\s").findall(u) u = [re.sub(r"(=m\d*).+", r"\1", i) for i in u] u = sum([tag(i) for i in u], []) url = [] try: url += [[i for i in u if i["quality"] == "1080p"][0]] except: pass try: url += [[i for i in u if i["quality"] == "HD"][0]] except: pass try: url += [[i for i in u if i["quality"] == "SD"][0]] except: pass if url == []: return return url except: return
def resolve(url): try: result = client.request(url) result = result.replace('\r', '').replace('\n', '').replace('\t', '') u = re.compile('"\d*/\d*x\d*.+?","(.+?)"').findall(result)[0] u = urllib.unquote_plus(u).decode('unicode-escape') u = re.compile('(http.+?)\s').findall(u) u = [re.sub(r'(=m\d*).+', r'\1', i) for i in u] u = sum([tag(i) for i in u], []) url = [] try: url += [[i for i in u if i['quality'] == '1080p'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'HD'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'SD'][0]] except: pass if url == []: return return url except: return
def resolve(url): try: id = url.split("?v=")[-1].split("/")[-1].split("?")[0].split("&")[0] result = client.request('http://www.youtube.com/watch?v=%s' % id) message = client.parseDOM(result, "div", attrs={"id": "unavailable-submessage"}) message = ''.join(message) alert = client.parseDOM(result, "div", attrs={"id": "watch7-notification-area"}) if re.search('LIVE_WATCHING_NOW', result): url = live(result, id) if not url == None: return url if len(alert) > 0: raise Exception() if re.search('[a-zA-Z]', message): raise Exception() url = 'plugin://plugin.video.youtube/play/?video_id=%s' % id return url except: return
def getTrakt(url, post=None): try: trakt_base = 'http://api-v2launch.trakt.tv' headers = { 'Content-Type': 'application/json', 'trakt-api-key': base64.urlsafe_b64decode( 'ZWI0MWU5NTI0M2Q4Yzk1MTUyZWQ3MmExZmMwMzk0YzkzY2I3ODVjYjMzYWVkNjA5ZmRkZTFhMDc0NTQ1ODRiNA==' ), 'trakt-api-version': '2' } user, password = getTraktCredentials() token = cache.get(authTrakt, 24, urlparse.urljoin(trakt_base, '/auth/login'), json.dumps({ 'login': user, 'password': password }), headers, table='rel_trakt') headers.update({'trakt-user-login': user, 'trakt-user-token': token}) except: pass try: if not post == None: post = json.dumps(post) result = client.request(urlparse.urljoin(trakt_base, url), post=post, headers=headers) return result except: pass
def resolve(url): try: result = client.request(url, mobile=True) url = client.parseDOM(result, "source", ret="src", attrs={"type": "video.+?"})[0] return url except: return
def resolve(url): try: result = client.request(url, close=False) post = {} f = client.parseDOM(result, "Form", attrs={"action": ""}) k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"}) for i in k: post.update({ i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0] }) post.update(captcha.request(result)) post = urllib.urlencode(post) request = urllib2.Request(url, post) for i in range(0, 5): try: response = urllib2.urlopen(request, timeout=10) result = response.read() response.close() if 'download2' in result: raise Exception() url = client.parseDOM(result, "a", ret="href", attrs={"target": ""})[0] return url except: time.sleep(1) except: return
def resolve(url): try: url = url.split('/preview', 1)[0] url = url.replace('drive.google.com', 'docs.google.com') result = client.request(url) result = re.compile('"fmt_stream_map",(".+?")').findall(result)[0] u = json.loads(result) u = [i.split('|')[-1] for i in u.split(',')] u = sum([tag(i) for i in u], []) url = [] try: url += [[i for i in u if i['quality'] == '1080p'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'HD'][0]] except: pass try: url += [[i for i in u if i['quality'] == 'SD'][0]] except: pass if url == []: return return url except: return