本文整理汇总了Python中resources.lib.modules.jsunpack.unpack函数的典型用法代码示例。如果您正苦于以下问题:Python unpack函数的具体用法?Python unpack怎么用?Python unpack使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了unpack函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: sources
def sources(self, url, hostDict, hostprDict):
try:
sources = []
if url == None: return sources
url = urlparse.urljoin(self.base_link, url)
r = client.request(url)
quality = client.parseDOM(r, 'div', attrs = {'class': 'poster-qulabel'})[0]
quality = quality.lower()
if 'cam' in quality or 'ts' in quality: raise Exception()
ref = client.parseDOM(r, 'iframe', ret='src')[0]
r = client.request(ref, referer=url)
s = re.compile('<script>(.+?)</script>', re.DOTALL).findall(r)
for i in s:
try: r += jsunpack.unpack(i)
except: pass
streams = client.parseDOM(r, 'source', ret='src')
links = client.parseDOM(r, 'li', ret='onclick')
links = [re.findall('\'(.+?\d+)', i) for i in links]
links = [i[0] for i in links if i]
for link in links:
try:
link = ref + "?source=%s" % link
r = client.request(link, referer=link)
s = re.compile('<script>(.+?)</script>', re.DOTALL).findall(r)
for i in s:
try: r += jsunpack.unpack(i)
except: pass
streams += client.parseDOM(r, 'source', ret='src')
except:
pass
streams = [x for y,x in enumerate(streams) if x not in streams[:y]]
for i in streams:
try: sources.append({'source': 'gvideo', 'quality': directstream.googletag(i)[0]['quality'], 'language': 'en', 'url': i, 'direct': True, 'debridonly': False})
except: pass
return sources
except:
return sources
开发者ID:azumimuo,项目名称:family-xbmc-addon,代码行数:54,代码来源:moviego.py
示例2: resolve
def resolve(self, data):
try:
hostURL = None
DELAY_PER_REQUEST = 1000 # In milliseconds.
startTime = datetime.now()
session = self._createSession(data['UA'], data['cookies'], data['referer'])
r = self._sessionGET(data['pageURL'], session, allowRedirects=False)
if r.ok:
if 'Location' in r.headers:
hostURL = r.headers['Location'] # For most hosts they redirect.
else:
# On rare cases they JS-pack the host link in the page source.
try:
hostURL = re.search(r'''go\(\\['"](.*?)\\['"]\);''', jsunpack.unpack(r.text)).group(1)
except:
pass # Or sometimes their page is just broken.
# Do a little delay, if necessary, between resolve() calls.
elapsed = int((datetime.now() - startTime).total_seconds() * 1000)
if elapsed < DELAY_PER_REQUEST:
xbmc.sleep(max(DELAY_PER_REQUEST - elapsed, 100))
return hostURL
except:
self._logException()
return None
开发者ID:vphuc81,项目名称:MyRepository,代码行数:27,代码来源:primewire.py
示例3: run
def run(e):
try:
e = re.findall(r'JuicyCodes.Run\(([^\)]+)', e, re.IGNORECASE)[0]
e = re.sub(r'\"\s*\+\s*\"','', e)
e = re.sub(r'[^A-Za-z0-9+\\/=]','', e)
except:
return None
t = ""
n=r=i=s=o=u=a=f=0
while f < len(e):
try:
s = Juice.index(e[f]);f+=1;
o = Juice.index(e[f]);f+=1;
u = Juice.index(e[f]);f+=1;
a = Juice.index(e[f]);f+=1;
n = s << 2 | o >> 4; r = (15 & o) << 4 | u >> 2; i = (3 & u) << 6 | a
t += chr(n)
if 64 != u: t += chr(r)
if 64 != a: t += chr(i)
except:
continue
pass
try:
t = jsunpack.unpack(t)
t = unicode(t, 'utf-8')
except:
t = None
return t
开发者ID:YourFriendCaspian,项目名称:dotfiles,代码行数:32,代码来源:unjuice.py
示例4: resolve
def resolve(self, data):
try:
hostURL = None
DELAY_PER_REQUEST = 1000 # In milliseconds.
startTime = datetime.now()
session = self._createSession(data['UA'], data['cookies'], data['referer'])
r = self._sessionGET(data['pageURL'], session, allowRedirects=False)
if r.ok:
if 'Location' in r.headers:
hostURL = r.headers['Location']
else:
try:
hostURL = re.search(r'''go\(\\['"](.*?)\\['"]\);''', jsunpack.unpack(r.text)).group(1)
except:
pass
elapsed = int((datetime.now() - startTime).total_seconds() * 1000)
if elapsed < DELAY_PER_REQUEST:
xbmc.sleep(max(DELAY_PER_REQUEST - elapsed, 100))
return hostURL
except:
self._logException()
return None
开发者ID:vphuc81,项目名称:MyRepository,代码行数:25,代码来源:primewire.py
示例5: __token
def __token(self, dic):
'''
Takes a dictionary containing id, update, server, and ts, then returns
a token which is used by info_path to retrieve grabber api
information
Thanks to coder-alpha for the updated bitshifting obfuscation
https://github.com/coder-alpha
Keyword arguments:
d -- dictionary - containing id, update, ts, server
Returns:
token -- integer - a unique integer
'''
def bitshifthex(t, e):
i = 0
n = 0
for i in range(0, max(len(t), len(e))):
if i < len(e):
n += ord(e[i])
if i < len(t):
n += ord(t[i])
h = format(int(hex(n),16),'x')
return h
def bitshiftadd(t):
i = 0
for e in range(0, len(t)):
i += ord(t[e]) + e
return i
try:
url = urlparse.urljoin(self.base_link, self.js_path)
response = client.request(url)
unpacked = jsunpack.unpack(response)
phrase = 'function\(t,\s*i,\s*n\)\s*{\s*"use strict";\s*function e\(\)\s*{\s*return (.*?)\s*}\s*function r\(t\)'
seed_var = re.findall(r'%s' % phrase, unpacked)[0]
seed = re.findall(r'%s=.*?\"(.*?)\"' % seed_var, unpacked)[0]
token = bitshiftadd(seed)
for i in dic:
token += bitshiftadd(bitshifthex(seed + i, dic[i]))
return str(token)
except Exception:
return
开发者ID:vphuc81,项目名称:MyRepository,代码行数:58,代码来源:ninemovies.py
示例6: sources
def sources(self, url, hostDict, hostprDict):
try:
sources = []
alt_links = []
play_links = []
link = client.request(url)
film_quality = re.findall('<div class="poster-qulabel">(.*?)</div>',link)[0]
if "1080" in film_quality: quality = "1080p"
elif "720" in film_quality: quality = "HD"
else: quality = "SD"
# print ("MOVIEGO SOURCES", quality)
r = BeautifulSoup(link)
r = r.findAll('iframe')
try:
for u in r:
iframe = u['src'].encode('utf-8')
if '/play/' in iframe:
# print ("MOVIEGO IFRAME", iframe)
videourl = client.request(iframe)
s = BeautifulSoup(videourl)
s = s.findAll('script')
unpacked_script = ""
for scripts in s:
try: unpacked_script += jsunpack.unpack(scripts.text)
except:pass
links = get_video(unpacked_script)
for url in links:
# print ("MOVIEGO pack", url)
try:sources.append({'source': 'gvideo', 'quality': google_tag(url), 'provider': 'Moviego', 'url': url, 'direct': True, 'debridonly': False})
except:pass
else:
try:
host = get_host(iframe)
if host in hostDict: sources.append({'source': host, 'quality': quality, 'provider': 'Moviego', 'url': iframe, 'direct': True, 'debridonly': False})
except:
pass
except:
pass
return sources
except:
return sources
开发者ID:azumimuo,项目名称:family-xbmc-addon,代码行数:48,代码来源:moviego.py
示例7: resolve
def resolve(url):
try:
page = re.compile('//(.+?)/(?:embed|v)/([0-9a-zA-Z-_]+)').findall(url)[0]
page = 'http://%s/embed/%s' % (page[0], page[1])
try: referer = urlparse.parse_qs(urlparse.urlparse(url).query)['referer'][0]
except: referer = page
result = client.request(page, referer=referer)
unpacked = ''
packed = result.split('\n')
for i in packed:
try: unpacked += jsunpack.unpack(i)
except: pass
result += unpacked
result = urllib.unquote_plus(result)
result = re.sub('\s\s+', ' ', result)
url = client.parseDOM(result, 'iframe', ret='src')[-1]
url = url.replace(' ', '').split("'")[0]
ch = re.compile('ch=""(.+?)""').findall(str(result))
ch = ch[0].replace(' ','')
sw = re.compile(" sw='(.+?)'").findall(str(result))
url = url+'/'+ch+'/'+sw[0]
result = client.request(url, referer=referer)
file = re.compile("'file'.+?'(.+?)'").findall(result)[0]
print file
try:
if not file.startswith('http'): raise Exception()
url = client.request(file, output='geturl')
print url
if not '.m3u8' in url: raise Exception()
url += '|%s' % urllib.urlencode({'User-Agent': client.agent(), 'Referer': file})
return url
except:
pass
strm = re.compile("'streamer'.+?'(.+?)'").findall(result)[0]
swf = re.compile("SWFObject\('(.+?)'").findall(result)[0]
url = '%s playpath=%s swfUrl=%s pageUrl=%s live=1 timeout=30' % (strm, file, swf, url)
return url
except:
return
开发者ID:azumimuo,项目名称:family-xbmc-addon,代码行数:48,代码来源:sawlive.py
示例8: sources
def sources(self, url, hostDict, hostprDict):
try:
sources = []
for movielink,referer in self.url:
try:
# print("CMOVIES SOURCE LINKS", movielink)
if len(sources) > 2: break
referer = referer
pages = client.request(movielink, timeout='3')
scripts = re.findall('<script src="(.*?)">', pages)
# print("CMOVIES SERVER SCRIPT", scripts)
for items in scripts:
if "slug=" in items:
if len(sources) > 2: break
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36'}
result = s.get(items, headers=headers, timeout=3).content
if jsunpack.detect(result):
js_data = jsunpack.unpack(result)
match = re.search('"sourcesPlaylist"\s*:\s*"([^"]+)', js_data)
video_url = match.group(1).replace('\\','')
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36'}
streams = s.get(video_url, headers=headers, timeout=3).json()
# print("CMOVIES FOUND PLAYLIST UNPACKED", streams)
playurl = streams['playlist'][0]['sources']
for results in playurl:
url = results['file']
quality = results['label']
if "1080" in quality: quality = "1080p"
elif "720" in quality: quality = "HD"
else: quality = "SD"
url = url.encode('utf-8')
if "google" in url:
print("CMOVIES PLAYABLE LINKS", url, quality)
sources.append({'source': 'gvideo', 'quality': quality, 'provider': 'Watch5s', 'url': url, 'direct': True, 'debridonly': False})
except:
pass
return sources
except:
return sources
开发者ID:azumimuo,项目名称:family-xbmc-addon,代码行数:40,代码来源:watch5s_mv_tv.py
示例9: resolve
def resolve(url):
#try:
page = re.compile('//.+?/(?:embed|v)/([0-9a-zA-Z-_]+)').findall(url)[0]
page = 'http://sawlive.tv/embed/%s' % page
try: referer = urlparse.parse_qs(urlparse.urlparse(url).query)['referer'][0]
except: referer = page
result = client.request(page, referer=referer)
unpacked = ''
packed = result.split('\n')
for i in packed:
try: unpacked += jsunpack.unpack(i)
except: pass
result += unpacked
result = urllib.unquote_plus(result)
result = re.sub('\s\s+', ' ', result)
var = re.compile('var\s(.+?)\s*=\s*\'(.+?)\'').findall(result)
for i in range(100):
for v in var: result = result.replace("' %s '" % v[0], v[1]).replace("'%s'" % v[0], v[1])
result = re.compile('<iframe(.+?)</iframe>').findall(result)[-1]
url = re.compile('src\s*=\s*[\'|\"](.+?)[\'|\"].+?[\'|\"](.+?)[\'|\"]').findall(result)
if len(url) == 0: url = re.compile('src\s*=\s*[\'|\"](.+?)[\'|\"](.+?)[\'|\"]').findall(result)
if len(url) == 0: url = re.compile('src\s*=\s*[\'|\"](.+?)[\'|\"]').findall(result)
url = '/'.join([i.strip('/') for i in url])
result = client.request(url, referer=referer)
strm = re.compile("'streamer'.+?'(.+?)'").findall(result)[0]
file = re.compile("'file'.+?'(.+?)'").findall(result)[0]
swf = re.compile("SWFObject\('(.+?)'").findall(result)[0]
url = '%s playpath=%s swfUrl=%s pageUrl=%s live=1 timeout=30' % (strm, file, swf, url)
return url
开发者ID:bialagary,项目名称:mw,代码行数:38,代码来源:sawlive.py
示例10: streamdor
def streamdor(html, src, olod):
source = ''
try:
with requests.Session() as s:
episodeId = re.findall('.*streamdor.co/video/(\d+)', html)[0]
p = s.get('https://embed.streamdor.co/video/' + episodeId, headers={'referer': src})
p = re.findall(r'JuicyCodes.Run\(([^\)]+)', p.text, re.IGNORECASE)[0]
p = re.sub(r'\"\s*\+\s*\"', '', p)
p = re.sub(r'[^A-Za-z0-9+\\/=]', '', p)
p = base64.b64decode(p)
p = jsunpack.unpack(p.decode('utf-8'))
qual = 'SD'
try:
qual = re.findall(r'label:"(.*?)"', p)[0]
except:
pass
try:
url = re.findall(r'(https://streamango.com/embed/.*?)"', p, re.IGNORECASE)[0]
source = "streamango.com"
details = {'source': source, 'quality': qual, 'language': "en", 'url': url, 'info': '',
'direct': False, 'debridonly': False}
except:
if olod == True:
url = ''
source = 'openload.co'
details = {'source': source, 'quality': qual, 'language': "en", 'url': url, 'info': '',
'direct': False, 'debridonly': False}
else: return ''
return details
except:
print("Unexpected error in CMOVIES STREAMDOR Script:")
exc_type, exc_obj, exc_tb = sys.exc_info()
print(exc_type, exc_tb.tb_lineno)
return details
开发者ID:varunrai,项目名称:repository.magicality,代码行数:36,代码来源:cmovies.py
示例11: sources
def sources(self, url, hostDict, hostprDict):
try:
sources = []
if url == None: return sources
if (self.user != '' and self.password != ''): #raise Exception()
login = urlparse.urljoin(self.base_link, '/login.html')
post = urllib.urlencode({'username': self.user, 'password': self.password, 'submit': 'Login'})
cookie = client.request(login, post=post, output='cookie', close=False)
r = client.request(login, post=post, cookie=cookie, output='extended')
headers = {'User-Agent': r[3]['User-Agent'], 'Cookie': r[4]}
else:
headers = {}
if not str(url).startswith('http'):
data = urlparse.parse_qs(url)
data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])
title = data['tvshowtitle'] if 'tvshowtitle' in data else data['title']
year = data['year']
query = urlparse.urljoin(self.base_link, self.search_link)
post = urllib.urlencode({'searchapi2': title})
r = client.request(query, post=post, headers=headers)
if 'tvshowtitle' in data:
r = re.findall('(watch-tvshow-.+?-\d+\.html)', r)
r = [(i, re.findall('watch-tvshow-(.+?)-\d+\.html', i)) for i in r]
else:
r = re.findall('(watch-movie-.+?-\d+\.html)', r)
r = [(i, re.findall('watch-movie-(.+?)-\d+\.html', i)) for i in r]
r = [(i[0], i[1][0]) for i in r if len(i[1]) > 0]
r = [i for i in r if cleantitle.get(title) == cleantitle.get(i[1])]
r = [i[0] for i in r][0]
u = urlparse.urljoin(self.base_link, r)
for i in range(3):
r = client.request(u, headers=headers)
if not 'failed' in r: break
if 'season' in data and 'episode' in data:
r = re.findall('(episode-.+?-.+?\d+.+?\d+-\d+.html)', r)
r = [i for i in r if '-s%02de%02d-' % (int(data['season']), int(data['episode'])) in i.lower()][0]
r = urlparse.urljoin(self.base_link, r)
r = client.request(r, headers=headers)
else:
r = urlparse.urljoin(self.base_link, url)
r = client.request(r, post=post, headers=headers)
quality = 'HD' if '-movie-' in r else 'SD'
try:
f = re.findall('''["']sources['"]\s*:\s*\[(.*?)\]''', r)[0]
f = re.findall('''['"]*file['"]*\s*:\s*([^\(]+)''', f)[0]
u = re.findall('function\s+%s[^{]+{\s*([^}]+)' % f, r)[0]
u = re.findall('\[([^\]]+)[^+]+\+\s*([^.]+).*?getElementById\("([^"]+)', u)[0]
a = re.findall('var\s+%s\s*=\s*\[([^\]]+)' % u[1], r)[0]
b = client.parseDOM(r, 'span', {'id': u[2]})[0]
url = u[0] + a + b
url = url.replace('"', '').replace(',', '').replace('\/', '/')
url += '|' + urllib.urlencode(headers)
except:
try:
url = r = jsunpack.unpack(r)
url = url.replace('"', '')
except:
url = re.findall(r'sources[\'"]\s*:\s*\[.*?file[\'"]\s*:\s*(\w+)\(\).*function\s+\1\(\)\s*\{\s*return\([\'"]([^\'"]+)',r,re.DOTALL)[0][1]
sources.append({'source': 'cdn', 'quality': quality, 'language': 'en', 'url': url, 'direct': True, 'debridonly': False, 'autoplay': True})
return sources
except:
failure = traceback.format_exc()
log_utils.log('StreamLord - Exception: \n' + str(failure))
return sources
开发者ID:YourFriendCaspian,项目名称:dotfiles,代码行数:96,代码来源:streamlord.py
示例12: sources
def sources(self, url, hostDict, locDict):
sources = []
try:
if url == None: return sources
data = urlparse.parse_qs(url)
data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])
title = data['tvshowtitle'] if 'tvshowtitle' in data else data['title']
aliases = eval(data['aliases'])
#cookie = '; approve_search=yes'
query = self.search_link % (urllib.quote_plus(title))
query = urlparse.urljoin(self.base_link, query)
result = client.request(query) #, cookie=cookie)
try:
if 'episode' in data:
r = client.parseDOM(result, 'div', attrs={'class': 'ml-item'})
r = zip(client.parseDOM(r, 'a', ret='href'), client.parseDOM(r, 'a', ret='title'))
r = [(i[0], i[1], re.findall('(.*?)\s+-\s+Season\s+(\d+)', i[1])) for i in r]
r = [(i[0], i[1], i[2][0]) for i in r if len(i[2]) > 0]
url = [i[0] for i in r if self.matchAlias(i[2][0], aliases) and i[2][1] == data['season']][0]
url = '%swatch' % url
result = client.request(url)
url = re.findall('a href=\"(.+?)\" class=\"btn-eps first-ep \">Episode %02d' % int(data['episode']), result)[0]
else:
r = client.parseDOM(result, 'div', attrs={'class': 'ml-item'})
r = zip(client.parseDOM(r, 'a', ret='href'), client.parseDOM(r, 'a', ret='title'))
results = [(i[0], i[1], re.findall('\((\d{4})', i[1])) for i in r]
try:
r = [(i[0], i[1], i[2][0]) for i in results if len(i[2]) > 0]
url = [i[0] for i in r if self.matchAlias(i[1], aliases) and (year == i[2])][0]
except:
url = None
pass
if (url == None):
url = [i[0] for i in results if self.matchAlias(i[1], aliases)][0]
url = '%s/watch' % url
url = client.request(url, output='geturl')
if url == None: raise Exception()
except:
return sources
url = url if 'http' in url else urlparse.urljoin(self.base_link, url)
result = client.request(url)
src = re.findall('src\s*=\s*"(.*streamdor.co\/video\/\d+)"', result)[0]
if src.startswith('//'):
src = 'http:'+src
episodeId = re.findall('.*streamdor.co/video/(\d+)', src)[0]
p = client.request(src, referer=url)
try:
p = re.findall(r'JuicyCodes.Run\(([^\)]+)', p, re.IGNORECASE)[0]
p = re.sub(r'\"\s*\+\s*\"','', p)
p = re.sub(r'[^A-Za-z0-9+\\/=]','', p)
p = base64.b64decode(p)
p = jsunpack.unpack(p)
p = unicode(p, 'utf-8')
post = {'id': episodeId}
p2 = client.request('https://embed.streamdor.co/token.php?v=5', post=post, referer=src, XHR=True)
js = json.loads(p2)
tok = js['token']
quali = 'SD'
try:
quali = re.findall(r'label:"(.*?)"',p)[0]
except:
pass
p = re.findall(r'var\s+episode=({[^}]+});',p)[0]
js = json.loads(p)
ss = []
#if 'eName' in js and js['eName'] != '':
# quali = source_utils.label_to_quality(js['eName'])
if 'fileEmbed' in js and js['fileEmbed'] != '':
ss.append([js['fileEmbed'], quali])
if 'fileHLS' in js and js['fileHLS'] != '':
ss.append(['https://hls.streamdor.co/%s%s'%(tok, js['fileHLS']), quali])
except:
return sources
for link in ss:
try:
if 'google' in url:
valid, hoster = source_utils.is_host_valid(url, hostDict)
urls, host, direct = source_utils.check_directstreams(url, hoster)
for x in urls: sources.append({'source': host, 'quality': x['quality'], 'language': 'en', 'url': x['url'], 'direct': direct, 'debridonly': False})
else:
try:
valid, hoster = source_utils.is_host_valid(link[0], hostDict)
direct = False
if not valid:
hoster = 'CDN'
direct = True
#.........这里部分代码省略.........
开发者ID:varunrai,项目名称:repository.magicality,代码行数:101,代码来源:cmovies.py
示例13: resolve
def resolve(url):
try:
try:
referer = urlparse.parse_qs(urlparse.urlparse(url).query)['referer'][0]
except:
referer=url
id = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0]
url = 'http://www.finecast.tv/embed4.php?u=%s&vw=640&vh=450'%id
result = client.request(url, referer=referer, mobile = True)
unpacked = ''
packed = result.split('\n')
for i in packed:
try: unpacked += jsunpack.unpack(i)
except: pass
result += unpacked
var = re.compile('var\s(.+?)\s*=\s*(?:\'|\"|\s*)(.+?)(?:\'|\"|\s*);').findall(result)
try:
url = re.compile('file\s*:\s*(.+?)\n').findall(result)
url = [i.split("'") for i in url]
url = [[x.replace('+','').replace(',','') for x in i if not x == ''] for i in url]
url = [[x.replace(x,[v[1] for v in var if v[0] == x][0]) if len([v[1] for v in var if v[0] == x]) > 0 else x for x in i] for i in url]
url = [''.join(i) for i in url]
url = [i for i in url if i.startswith('rtmp') or '.m3u8' in i]
url = random.choice(url)
dummy = ' swfUrl=http://www.finecast.tv/player6/jwplayer.flash.swf flashver=WIN\2020,0,0,228 live=1 timeout=14 swfVfy=1 pageUrl=http://www.finecast.tv/'
if url.startswith('rtmp://'):
url = 'rtmp://play.finecast.tv:1935/live/?'+url.split('?')[1]+ str(dummy)
else:
url = 'http://play.finecast.tv/live/'+url.split('live/')[1]+ str(dummy)
pass
return url
except:
pass
ids = re.findall('id=(.+?)>(.+?)<',result)
result = re.sub(r"'(.+?)'", r'\1', result)
x = re.findall('\[(.+?)\].join\(""\)',result)
auth, auth2 = re.findall('\[.+?\].join\(""\).+?\+\s*(.+?).join\(""\).+?document.getElementById\("(.+?)"\).innerHTML\);',result)[0]
for v in var:
if v[0] == auth:
auth = re.findall('\[(.+?)\]',v[1])[0]
for v in ids:
if v[0] == auth2:
auth2 = v[1]
rtmp, file = x[0], x[1]
rtmp = rtmp.replace('"','').replace(',','') + auth.replace('"','').replace(',','') + auth2.replace('"','').replace(',','')
file = file.replace('"','').replace(',','')
rtmp = rtmp
rtmp = rtmp.replace(r'\/','/')
url = rtmp + '/' + file + ' swfUrl=http://www.finecast.tv/player6/jwplayer.flash.swf flashver=WIN\2020,0,0,228 live=1 timeout=14 swfVfy=1 pageUrl=http://www.finecast.tv/'
return url
except:
return
开发者ID:azumimuo,项目名称:family-xbmc-addon,代码行数:61,代码来源:finecast.py
示例14: sources
def sources(self, url, hostDict, hostprDict):
sources = []
try:
if not url:
return sources
url = urlparse.urljoin(self.base_link, url)
r = client.request(url, output='extended')
headers = r[3]
headers.update({'Cookie': r[2].get('Set-Cookie'), 'Referer': self.base_link})
r = r[0]
rels = dom_parser.parse_dom(r, 'nav', attrs={'class': 'player'})
rels = dom_parser.parse_dom(rels, 'ul', attrs={'class': 'idTabs'})
rels = dom_parser.parse_dom(rels, 'li')
rels = [(dom_parser.parse_dom(i, 'a', attrs={'class': 'options'}, req='href'), dom_parser.parse_dom(i, 'img', req='src')) for i in rels]
rels = [(i[0][0].attrs['href'][1:], re.findall('/flags/(\w+)\.png$', i[1][0].attrs['src'])) for i in rels if i[0] and i[1]]
rels = [i[0] for i in rels if len(i[1]) > 0 and i[1][0].lower() == 'de']
r = [dom_parser.parse_dom(r, 'div', attrs={'id': i}) for i in rels]
links = re.findall('''(?:link|file)["']?\s*:\s*["'](.+?)["']''', ''.join([i[0].content for i in r]))
links += [l.attrs['src'] for i in r for l in dom_parser.parse_dom(i, 'iframe', attrs={'class': 'metaframe'}, req='src')]
links += [l.attrs['src'] for i in r for l in dom_parser.parse_dom(i, 'source', req='src')]
for i in links:
try:
i = re.sub('\[.+?\]|\[/.+?\]', '', i)
i = client.replaceHTMLCodes(i)
if '/play/' in i: i = urlparse.urljoin(self.base_link, i)
if self.domains[0] in i:
i = client.request(i, headers=headers, referer=url)
for x in re.findall('''\(["']?(.*)["']?\)''', i):
try: i += jsunpack.unpack(base64.decodestring(re.sub('"\s*\+\s*"', '', x))).replace('\\', '')
except: pass
for x in re.findall('(eval\s*\(function.*?)</script>', i, re.DOTALL):
try: i += jsunpack.unpack(x).replace('\\', '')
except: pass
links = [(match[0], match[1]) for match in re.findall('''['"]?file['"]?\s*:\s*['"]([^'"]+)['"][^}]*['"]?label['"]?\s*:\s*['"]([^'"]*)''', i, re.DOTALL)]
links = [(x[0].replace('\/', '/'), source_utils.label_to_quality(x[1])) for x in links if '/no-video.mp4' not in x[0]]
doc_links = [directstream.google('https://drive.google.com/file/d/%s/view' % match) for match in re.findall('''file:\s*["'](?:[^"']+youtu.be/([^"']+))''', i, re.DOTALL)]
doc_links = [(u['url'], u['quality']) for x in doc_links if x for u in x]
links += doc_links
for url, quality in links:
if self.base_link in url:
url = url + '|Referer=' + self.base_link
sources.append({'source': 'gvideo', 'quality': quality, 'language': 'de', 'url': url, 'direct': True, 'debridonly': False})
else:
try:
# as long as resolveurl get no Update for this URL (So just a Temp-Solution)
did = re.findall('youtube.googleapis.com.*?docid=(\w+)', i)
if did: i = 'https://drive.google.com/file/d/%s/view' % did[0]
valid, host = source_utils.is_host_valid(i, hostDict)
if not valid: continue
urls, host, direct = source_utils.check_directstreams(i, host)
for x in urls: sources.append({'source': host, 'quality': x['quality'], 'language': 'de', 'url': x['url'], 'direct': direct, 'debridonly': False})
except:
pass
except:
pass
return sources
except:
return sources
开发者ID:YourFriendCaspian,项目名称:dotfiles,代码行数:78,代码来源:foxx.py
示例15: sources
def sources(self, url, hostDict, hostprDict):
try:
sources = []
if url == None: return sources
data = urlparse.parse_qs(url)
data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])
aliases = eval(data['aliases'])
headers = {}
if 'tvshowtitle' in data:
year = re.compile('(\d{4})-(\d{2})-(\d{2})').findall(data['premiered'])[0][0]
episode = '%01d' % int(data['episode'])
url = self.searchShow(data['tvshowtitle'], data['season'], aliases, headers)
else:
episode = None
year = data['year']
url = self.searchMovie(data['title'], data['year'], aliases, headers)
referer = url
r = client.request(url)
if episode == None:
y = re.findall('Released\s*:\s*.+?\s*(\d{4})', r)[0]
if not year == y: raise Exception()
r = client.parseDOM(r, 'div', attrs = {'class': 'sli-name'})
r = zip(client.parseDOM(r, 'a', ret='href'), client.parseDOM(r, 'a'))
if not episode == None:
r = [i[0] for i in r if i[1].lower().startswith('episode %02d:' % int(data['episode'])) or i[1].lower().startswith('episode %d:' % int(data['episode']))]
else:
r = [i[0] for i in r]
for u in r:
try:
p = client.request(u, referer=referer, timeout='10')
quality = re.findall(r'Quality:\s*<.*?>([^<]+)',p)[0]
quality = quality if quality in ['HD', 'SD'] else source_utils.label_to_quality(quality)
src = re.findall('src\s*=\s*"(.*streamdor.co/video/\d+)"', p)[0]
if src.startswith('//'):
src = 'http:'+src
episodeId = re.findall('.*streamdor.co/video/(\d+)', src)[0]
p = client.request(src, referer=u)
try:
p = re.findall(r'JuicyCodes.Run\(([^\)]+)', p, re.IGNORECASE)[0]
p = re.sub(r'\"\s*\+\s*\"','', p)
p = re.sub(r'[^A-Za-z0-9+\\/=]','', p)
p = base64.b64decode(p)
p = jsunpack.unpack(p)
p = unicode(p, 'utf-8')
except:
continue
try:
fl = re.findall(r'file"\s*:\s*"([^"]+)',p)
if len(fl) > 0:
fl = fl[0]
post = {'episodeID': episodeId, 'file': fl, 'subtitle': 'false', 'referer': urllib.quote_plus(u)}
p = client.request(self.source_link, post=post, referer=src, XHR=True)
js = json.loads(p)
src = js['sources']
p = client.request('http:'+src, referer=src)
js = json.loads(p)[0]
ss = js['sources']
ss = [(i['file'], i['label']) for i in ss if 'file' in i]
else:
try:
post = {'id': episodeId}
p2 = client.request('https://embed.streamdor.co/token.php?v=5', post=post, referer=src, XHR=True)
js = json.loads(p2)
tok = js['token']
p = re.findall(r'var\s+episode=({[^}]+});',p)[0]
js = json.loads(p)
ss = []
if 'eName' in js and js['eName'] != '':
quality = source_utils.label_to_quality(js['eName'])
if 'fileEmbed' in js and js['fileEmbed'] != '':
ss.append([js['fileEmbed'], quality])
if 'fileHLS' in js and js['fileHLS'] != '':
ss.append(['https://hls.streamdor.co/%s%s'%(tok, js['fileHLS']), quality])
except:
pass
for i in ss:
try:
valid, hoster = source_utils.is_host_valid(i[0], hostDict)
direct = False
if not valid:
hoster = 'CDN'
direct = True
sources.append({'source': hoster, 'quality': 'SD', 'language': 'en', 'url': i[0], 'direct': direct, 'debridonly': False})
except: pass
except:
url = re.findall(r'embedURL"\s*:\s*"([^"]+)',p)[0]
valid, hoster = source_utils.is_host_valid(url, hostDict)
#.........这里部分代码省略.........
开发者ID:vphuc81,项目名称:MyRepository,代码行数:101,代码来源:kingmovies.py
示例16: sources
def sources(self, url, hostDict, hostprDict):
try:
sources = []
if url == None: return sources
data = urlparse.parse_qs(url)
data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])
aliases = eval(data['aliases'])
headers = {}
if 'tvshowtitle' in data:
year = re.compile('(\d{4})-(\d{2})-(\d{2})').findall(data['premiered'])[0][0]
episode = '%01d' % int(data['episode'])
url = '%s/tv-series/%s-season-%01d/watch/' % (self.base_link, cleantitle.geturl(data['tvshowtitle']), int(data['season']))
url = client.request(url, headers=headers, timeout='10', output='geturl')
if url == None or url == self.base_link+'/':
url = '%s/tv-series/%s-season-%02d/watch/' % (self.base_link, cleantitle.geturl(data['tvshowtitle']), int(data['season']))
url = client.request(url, headers=headers, timeout='10', output='geturl')
if url == None:
url = self.searchShow(data['tvshowtitle'], data['season'], aliases, headers)
else:
episode = None
year = data['year']
url = self.searchMovie(data['title'], data['year'], aliases, headers)
referer = url
r = client.request(url, headers=headers)
y = re.findall('Release\s*:\s*.+?\s*(\d{4})', r)[0]
if not year == y: raise Exception()
r = client.parseDOM(r, 'div', attrs = {'class': 'les-content'})
r = zip(client.parseDOM(r, 'a', ret='href'), client.parseDOM(r, 'a'))
r = [(i[0], ''.join(re.findall('(\d+)', i[1])[:1])) for i in r]
if not episode == None:
r = [i[0] for i in r if '%01d' % int(i[1]) == episode]
else:
r = [i[0] for i in r]
r = [i for i in r if '/server-' in i]
for u in r:
try:
p = client.request(u, headers=headers, referer=referer, timeout='10')
src = re.findall('embed_src\s*:\s*"(.+?)"', p)[0]
if src.startswith('//'):
src = 'http:'+src
if not 'streamdor.co' in src: raise Exception()
episodeId = re.findall('streamdor.co.*/video/(.+?)"', p)[0]
p = client.request(src, referer=u)
try:
p = re.findall(r'JuicyCodes.Run\(([^\)]+)', p, re.IGNORECASE)[0]
p = re.sub(r'\"\s*\+\s*\"','', p)
p = re.sub(r'[^A-Za-z0-9+\\/=]','', p)
p = base64.b64decode(p)
p = jsunpack.unpack(p)
p = unicode(p, 'utf-8')
except:
continue
try:
url = re.findall(r'embedURL"\s*:\s*"([^"]+)',p)[0]
valid, hoster = source_utils.is_host_valid(url, hostDict)
if not valid: continue
urls, host, direct = source_utils.check_directstreams(url, hoster)
for x in urls:
sources.append({'source': host, 'quality': 'SD', 'language': 'en', 'url': x['url'], 'direct': direct, 'debridonly': False})
except:
pass
except:
pass
return sources
except:
return sources
开发者ID:varunrai,项目名称:repository.magicality,代码行数:80,代码来源:watch5s.py
示例17: sources
def sources(self, url, hostDict, hostprDict):
sources = []
try:
if not url:
return sources
url = urlparse.urljoin(self.base_link, url)
r = client.request(url)
rels = dom_parser.parse_dom(r, 'nav', attrs={'class': 'player'})
rels = dom_parser.parse_dom(rels, 'ul', attrs={'class': 'idTabs'})
rels = dom_parser.parse_dom(rels, 'li')
rels = [(dom_parser.parse_dom(i, 'a', attrs={'class': 'options'}, req='href'), dom_parser.parse_dom(i, 'img', req='src')) for i in rels]
rels = [(i[0][0].attrs['href'][1:], re.findall('\/flags\/(\w+)\.png$', i[1][0].attrs['src'])) for i in rels if i[0] and i[1]]
rels = [i[0] for i in rels if len(i[1]) > 0 and i[1][0].lower() == 'de']
r = [dom_parser.parse_dom(r, 'div', attrs={'id': i}) for i in rels]
r = [(re.findall('''(?:link|file)["']?\s*:\s*["'](.+?)["']''', i[0].content), dom_parser.parse_dom(i, 'iframe', attrs={'class': 'metaframe'}, req='src')) for i in r]
r = [i[0][0] if len(i[0]) > 0 else i[1][0].attrs['src'] for i in r if i[0] or i[1]]
for i in r:
try:
i = re.sub('\[.+?\]|\[/.+?\]', '', i)
|
请发表评论