def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources r = client.request(url, headers=client.randommobileagent('android')) match = re.compile('<input type="hidden" value="(.+?)"', re.DOTALL).findall(r) for url in match: url = "https:" + url if not url.startswith('http') else url if 'vidstreaming.io' in url: r = client.request( url, headers=client.randommobileagent('android')) match = re.compile('data-video="(.+?)"', re.DOTALL).findall(r) for link in match: link = "https:" + link if not link.startswith( 'http') else link valid, host = source_tools.checkHost(link, hostDict) if valid: info = source_tools.get_info(link) quality = source_tools.get_quality(link) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': link, 'info': info, 'direct': False, 'debridonly': False }) else: valid, host = source_tools.checkHost(url, hostDict) if valid: info = source_tools.get_info(url) quality = source_tools.get_quality(url) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': url, 'info': info, 'direct': False, 'debridonly': False }) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources r = client.request(url) links = re.compile('<iframe.+?src="(.+?)"', re.DOTALL).findall(r) for u in links: r = client.request(u) match = getSum.findSum(r) for link in match: valid, host = source_tools.checkHost(link, hostDict) if valid: info = source_tools.get_info(link) quality = source_tools.get_quality(link) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': link, 'info': info, 'direct': False, 'debridonly': False }) return sources except: return sources
def getMore(link, hostDict): sources = [] if link == None: return sources elif "vidnode.net" in link: for source in more_vidnode(link, hostDict): sources.append(source) elif "vidlink.org" in link: for source in more_vidlink(link, hostDict): sources.append(source) elif "gomostream.com" in link: for source in more_gomo(link, hostDict): sources.append(source) elif "123moviesplayer.com" in link: for source in more_123moviesplayer(link, hostDict): sources.append(source) else: valid, host = source_tools.checkHost(link, hostDict) if valid: quality = source_tools.get_quality(link) info = source_tools.get_info(link) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': link, 'info': info, 'direct': False, 'debridonly': False }) return sources
def more_vidnode(link, hostDict): sources = [] # By Shellc0de try: headers = { 'Host': 'vidnode.net', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36', 'Upgrade-Insecure-Requests': '1', 'Accept-Language': 'en-US,en;q=0.9' } response = client.request(link, headers=headers, timeout=5) urls = re.findall( '''\{file:\s*['"]([^'"]+).*?label:\s*['"](\d+\s*P)['"]''', response, re.DOTALL | re.I) if urls: for url, qual in urls: host = url.split('//')[1].replace('www.', '') host = host.split('/')[0].lower() # 'CDN' valid, host = source_tools.checkHost(host, hostDict) if valid: quality = source_tools.get_quality(qual, url) info = source_tools.get_info(qual, url) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': url, 'info': info, 'direct': True, 'debridonly': False }) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources r = client.request(url, headers=client.randommobileagent('android')) match = re.compile('<option data-em="(.+?)"', re.DOTALL).findall(r) for u in match: r = base64.b64decode(u) r = client.parseDOM(r, 'iframe', ret='src')[0] r = client.request(r, headers=client.randommobileagent('android')) try: u = client.parseDOM(r, 'iframe', ret='src')[0] except: u = client.parseDOM(r, 'source', ret='src')[0] valid, host = source_tools.checkHost(u, hostDict) if valid: info = source_tools.get_info(u) quality = source_tools.get_quality(u) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': u, 'info': info, 'direct': False, 'debridonly': False }) return sources except: return sources
def more_123moviesplayer(link, hostDict): sources = [] # Gomo Clone try: gomo_link = 'https://123moviesplayer.com/decoding_v3.php' User_Agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' result = client.request(link) tc = re.compile('tc = \'(.+?)\';').findall(result)[0] if (tc): token = re.compile('"_token": "(.+?)",').findall(result)[0] post = {'tokenCode': tc, '_token': token} def tsd(tokenCode): _13x48X = tokenCode _71Wxx199 = _13x48X[4:18][::-1] return _71Wxx199 + "18" + "432782" headers = { 'Host': '123moviesplayer.com', 'Referer': link, 'User-Agent': User_Agent, 'x-token': tsd(tc) } result = client.request(gomo_link, XHR=True, post=post, headers=headers) urls = json.loads(result) for url in urls: if '123moviesplayer.com' in url: sources.append({ 'source': 'CDN', 'quality': 'SD', 'language': 'en', 'url': url, 'direct': True, 'debridonly': False }) else: valid, host = source_tools.checkHost(url, hostDict) if valid: quality = source_tools.get_quality(url) info = source_tools.get_info(url) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': url, 'info': info, 'direct': False, 'debridonly': False }) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources page = client.request(url, headers=client.randommobileagent('android'), timeout='3') links = client.parseDOM(page, 'table', attrs={'class': 'movie_version'}) for link in links: try: qual = re.compile('<span class="quality_(.+?)"></span>', re.DOTALL).findall(link)[0] hoster = re.compile( '<span class="version_host">(.+?)</span>', re.DOTALL).findall(link)[0] href = re.compile('<a href="(.+?)" class=', re.DOTALL).findall(link)[0] vlink = self.base_link + href valid, host = source_tools.checkHost(hoster, hostDict) if valid and vlink not in str(sources): quality = source_tools.get_quality(qual) info = source_tools.get_info(qual) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': vlink, 'info': info, 'direct': False, 'debridonly': False }) except: pass return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: hostDict = hostDict + hostprDict sources = [] if url == None: return sources r = self.scraper.get(url).content r = client.parseDOM(r, 'iframe', ret='src') for u in r: info = source_tools.get_info(u) quality = source_tools.get_quality(u) valid, host = source_tools.checkHost(u, hostDict) sources.append({ 'source': host, 'quality': quality, 'language': 'en', 'url': u, 'info': info, 'direct': False, 'debridonly': False }) return sources except: return sources