def GetFileHosts(self, id, other_names, region, language, list, lock, message_queue): from entertainment.net import Net net = Net() clean_id = id.replace('_', ' ').lower() for blogs in self.BLOG: import re r = self.base_url % blogs content = net.http_GET(r).content POSTER = re.compile('<poster>(.+?)</poster>').findall(content)[0] match = re.compile('<title>(.+?)</title>.+?link>(.+?)</', re.DOTALL).findall(content) for name, RTMP in match: if clean_id.replace(' ', '') in name.replace(' ', '').lower(): self.AddLiveLink(list, name, RTMP, host=POSTER)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): import urllib2 import re from entertainment.net import Net net = Net() title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) season_pull = "0%s" % season if len(season) < 2 else season episode_pull = "0%s" % episode if len(episode) < 2 else episode tv_url = 'http://www.myvideolinks.eu/index.php?s=%s+S%sE%s' % ( name.replace(' ', '+'), season_pull, episode_pull) movie_url = 'http://www.myvideolinks.eu/index.php?s=%s+%s' % ( name.replace(' ', '+'), year) if type == 'movies': html = net.http_GET(movie_url).content for item in re.finditer(r'<h4><a href="(.+?)" rel="bookmark"', html, re.I): url = item.group(1) self.GetFileHosts(url, list, lock, message_queue) elif type == 'tv_episodes': html = net.http_GET(tv_url).content for item in re.finditer(r'<h4><a href="(.+?)" rel="bookmark"', html, re.I): url = item.group(1) self.GetFileHosts(url, list, lock, message_queue)
def Resolve(self, url): import re from entertainment.net import Net net = Net(user_agent=self.UA) url = url.replace('muchmovies.org', 'umovies.me') try: net.set_cookies(self.cookie_file) content = net.http_GET(url).content print '##########################' print 'NET' except: from entertainment import cloudflare content = cloudflare.solve(url, self.cookie_file, self.UA) content = content.replace('\n', '') link = content.split('href=') for p in link: if '.mp4' in p: resolved_media_url = re.compile('"(.+?)"').findall(p)[0] host = resolved_media_url.split('//')[1] host = host.split('/')[0] cookie = open(self.cookie_file).read() __cfduid = re.compile('__cfduid=(.+?);').findall(cookie)[0] cf_clearance = re.compile('cf_clearance="(.+?)"').findall( cookie)[0] COOKIE = '__cfduid=%s; cf_clearance=%s' % (__cfduid, cf_clearance) resolved_media_url = resolved_media_url + '|User-Agent=' + self.UA + '&Referrer=' + url + '&host=' + host + '&Cookie=' + COOKIE print resolved_media_url return resolved_media_url
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net import re net = Net(cached=False) seasonshit = "0%s" % season if len(season) < 2 else season episodeshit = "0%s" % episode if len(episode) < 2 else episode valid_constructor = 'S%sE%s' % (seasonshit, episodeshit) title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) if type == 'tv_episodes': search_url_digit = "%s/?s=%s%sS%sE%s&cat=&cat=TV-XviD,TV-Mp4,TV-720p,TV-480p," % ( self.base_url, name.replace( ' ', '+').lower(), '%20', seasonshit, episodeshit) else: search_url_digit = "%s/?s=%s+%s&cat=Movies-XviD,Movies-720p,Movies-480p,Movies-Foreign,Movies-DVDR," % ( self.base_url, name.replace(' ', '+').lower(), year) content = net.http_GET(search_url_digit).content match = re.compile( "<a href='http://tv-release.pw/(\d*\/.+?)'").findall(content) for url in match: self.GetFileHosts(self.base_url + '/' + url, list, lock, message_queue)
def GetFileHosts(self, url, list, lock, message_queue, referer): import re from entertainment.net import Net net = Net() headers = { 'Host': 'freetvserieshd.com', 'Connection': 'keep-alive', 'Cache-Control': 'max-age=0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36', 'Referer': referer, 'Accept-Encoding': 'gzip, deflate, sdch', 'Accept-Language': 'en-US,en;q=0.8' } content = net.http_GET(url, headers=headers).content match = re.compile('"file":"(.+?)".+?"label":"(.+?)"', re.DOTALL).findall(content) for url, res in match: res = res.upper() if '480' in res: res = 'HD' url = url + '|' + res self.AddFileHost(list, res, url)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net import re net = Net(cached=False) name = self.CleanTextForSearch(name) season = self.CleanTextForSearch(season) episode = self.CleanTextForSearch(episode) scrape = 'S' + season + ', Ep' + episode search_term = name helper_term = 'tvshow' data = {'q': name} headers = { 'Host': 'hdtvshows.net', 'Origin': 'http://hdtvshows.net', 'Referer': 'http://hdtvshows.net', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36' } html = net.http_POST('http://hdtvshows.net/find.php', data, headers).content r = '%s Free " href="(.+?)">' % name match = re.compile(r).findall(html)[0] self.GetFileHosts(self.base_url + match, list, lock, message_queue, scrape)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): import re from entertainment.net import Net net = Net(cached=False) name = self.CleanTextForSearch(name.lower()) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36', 'Referer': 'http://pubfilm.ac' } new_url = 'http://pubfilm.ac/search/' + name.replace(' ', '+') content = net.http_GET(new_url, headers=headers).content matched = re.compile( '<h3 class="post-box-title"><a href="(.+?)" rel="bookmark">(.+?)</a>' ).findall(content) for URL, TITLE in matched: if type == 'tv_episodes': if name.lower() in self.CleanTextForSearch(TITLE.lower()): if season in TITLE.lower(): self.GetFileHosts(URL, list, lock, message_queue, type, season, episode) else: if name.lower() in self.CleanTextForSearch(TITLE.lower()): if year in TITLE.lower(): self.GetFileHosts(URL, list, lock, message_queue, type, season, episode)
def GetFileHosts(self, url, list, lock, message_queue): from entertainment.net import Net net = Net() custom_url = self.get_url() source_args = {'iqs': '', 'url': '', 'cap': ''} content = net.http_GET(url).content import random import copy import urllib import re sec = re.search("f\.lastChild\.value=\"(.+?)\",a", content).group(1) source_args['sec'] = sec t = re.search('"&t=([^"]+)",', content).group(1) source_args['t'] = t ajax_url = custom_url + 'membersonly/components/com_iceplayer/video.phpAjaxResp.php' headers = {'Content-type': 'application/x-www-form-urlencoded'} for sq in re.finditer( r"<div class=ripdiv><b>(.+?)</b><p>(.+?)<p></div>", content): quality = sq.group(1) if 'DVD' in quality: quality = 'DVD' elif '1080' in quality: quality = '1080P' elif '720' in quality: quality = '720P' else: quality = 'SD' for source in re.finditer(r"<a.+?go\((.+?)\)", sq.group(2)): a = source.group(1) m = random.randrange(100, 300) * -1 s = random.randrange(5, 50) source_params = copy.copy(source_args) cache_source_params = copy.copy(source_args) source_params['id'] = a cache_source_params['id'] = a source_params['m'] = m source_params['s'] = s ajax_content = net.http_POST( ajax_url, source_params, headers, form_data_for_cache=cache_source_params).content host_url = urllib.unquote( re.search(r"url=(.*)", ajax_content).group(1)) self.AddFileHost(list, quality, host_url)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) custom_url = self.get_url() found_in_recent_added = False from entertainment.net import Net net = Net(cached=False) import re if type == 'movies': content = net.http_GET(custom_url + 'movies/added/1').content content = content.replace('><', '>\n<') item = re.search( r"<a href=/ip\.php\?v=(.+?)>" + title.replace('(', '\\(').replace(')', '\\)').replace( '-', '\\-').replace('?', '\\?').replace( '*', '\\*').replace('+', '\\+') + "</a>", content) if item: item_v_id = item.group(1) item_url = custom_url + 'membersonly/components/com_iceplayer/video.php?vid=' + item_v_id self.GetFileHosts(item_url, list, lock, message_queue) found_in_recent_added = True if found_in_recent_added == True: return search_term = name ttl_extrctr = '(.+?) \(' if type == 'tv_episodes': se = season + 'x' if int(episode) < 10: se = se + '0' + episode else: se = se + episode search_term = search_term + ' ' + se ttl_extrctr = '(.+? [0-9]+x[0-9]+)' movie_url = self.GoogleSearchByTitleReturnFirstResultOnlyIfValid( self.base_url, search_term, 'ip', item_count=5, title_extrctr=ttl_extrctr, exact_match=True) if movie_url != '': import re import urllib movie_v_id = re.search('ip\.php\?v=(.*)', urllib.unquote(movie_url)) if movie_v_id: movie_v_id = movie_v_id.group(1) movie_url = movie_url = custom_url + 'membersonly/components/com_iceplayer/video.php?vid=' + movie_v_id self.GetFileHosts(movie_url, list, lock, message_queue)
def GetFileHosts(self, url, list, lock, message_queue): import re,urllib from entertainment.net import Net net = Net(user_agent='Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5') loginurl = 'https://m.genvideos.org/video_info/html5' v=url.split('v=')[1] data={'v': v} headers = {'host': 'm.genvideos.org','origin':'https://m.genvideos.org', 'referer': url, 'user-agent':'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5','x-requested-with':'XMLHttpRequest'} first= net.http_POST(loginurl,data,headers).content import json link= json.loads(first) for j in link: quality = j.upper() if '360P' in quality: quality='SD' THEURL = urllib.unquote(link[j][3])+'**'+url self.AddFileHost(list, quality, THEURL,host='GOOGLEVIDEO.COM')
def GetFileHosts(self, id, other_names, region, language, list, lock, message_queue): from entertainment.net import Net import re net = Net(cached=False) stream_id = id.replace('_', '').lower() NEW_URL = "http://d3gbuig838qdtm.cloudfront.net/json/tvp/channels.json" html = net.http_GET(NEW_URL).content import json link = json.loads(html) data = link['data'] for field in data: name = field['channel']['name'].encode("utf-8") url = field['channel']['id'] if stream_id in name.replace(' ', '').lower(): self.AddLiveLink(list, id.replace('_', ' ').upper(), url, language=language.title(), host='TVPLAYER', quality='HD')
def GetFileHosts(self, url, list, lock, message_queue, type, season, episode): if not type == 'tv_episodes': FINAL_URL = url.split('//')[1] FINAL_URL = FINAL_URL.split('/')[0] self.AddFileHost(list, '720P', url, host=FINAL_URL.upper()) else: import json from entertainment.net import Net net = Net(cached=False) data = { 'DeviceId': '6a48880da9855891b8baad7d7b34570d998b28c5', 'Hash': 'f93e3156637c9fce37154e2d091bca8a', 'Key': 'AA9FSK1323X3F', 'Id': url, 'PageSize': '20', 'StartIndex': '0', 'Version': '5' } link = json.loads( net.http_POST(self.GETLINK, data, headers=self.HEADERS).content) data = link['Data'] for field in data: TITLE = field['Name'].encode('utf8') id = field['VideoId'] if 'S%s Epi %s' % (season, episode) in TITLE: FINAL_URL = id.split('//')[1] FINAL_URL = FINAL_URL.split('/')[0] self.AddFileHost(list, '720P', id, host=FINAL_URL.upper())
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net import re net = Net(cached=False) name = self.CleanTextForSearch(name) search_term = name.lower() helper_term = '' ttl_extrctr = '' new_url = self.base_url + '/arama?q=' + name.replace(' ', '+') content = net.http_GET(new_url).content link = content.split('<li>') for p in link: try: movie_url = re.compile('href="(.+?)"', re.DOTALL).findall(p)[0] title = re.compile('"video-title">(.+?)<', re.DOTALL).findall(p)[0] YEAR = re.compile('"year">(.+?)<', re.DOTALL).findall(p)[0] title = title.strip() YEAR = YEAR.strip() if name.lower() in self.CleanTextForSearch(title.lower()): if year in YEAR: self.GetFileHosts(movie_url, list, lock, message_queue) except: pass
def GetContent(self, indexer, url, title, name, year, season, episode, type, list): import urllib url = urllib.unquote_plus(url) title = urllib.unquote_plus(title) name = urllib.unquote_plus(name) name = (name).lower() import re from entertainment.net import Net net = Net(cached=False) net.set_cookies(self.cookie_file) content = net.http_GET(url).content if type == 'tv_seasons': match=re.compile('<br><br><b>(.+?)x').findall(content) for seasonnumber in match: item_title = 'Season ' + seasonnumber item_id = common.CreateIdFromString(title + ' ' + item_title) self.AddContent(list, indexer, common.mode_Content, item_title, item_id, 'tv_episodes', url=url, name=name, season=seasonnumber) elif type == 'tv_episodes': match=re.compile("<br><b>"+season+"x(.+?)\s-\s<a style=.+?color.+?\shref='/(.+?)'>(.+?)</a>").findall(content) for item_v_id_2,url,item_title in match: season = "0%s"%season if len(season)<2 else season item_v_id_2 = "0%s"%item_v_id_2 if len(item_v_id_2)<2 else item_v_id_2 item_url = self.base_url + url item_v_id_2 = str(int(item_v_id_2)) item_id = common.CreateIdFromString(name + '_season_' + season + '_episode_' + item_v_id_2) self.AddContent(list, indexer, common.mode_File_Hosts, item_title, item_id, type, url=item_url, name=name, season=season, episode=item_v_id_2)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net from entertainment import bing net = Net( cached=False, user_agent= 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36' ) title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) #print ':::::::::::::::::::::::::::::::::' if type == 'tv_episodes': if len(episode) < 2: episode = "0%s" % episode if len(season) < 2: season = "0%s" % season search_term = '%s s%se%s' % (name, season, episode) RESULT_TERM = '%s s%se%s' % (name, season, episode) try: GOOGLED = self.GoogleSearch('streamlord.com', search_term) except: GOOGLED = bing.Search('streamlord.com', search_term) RETURN = 'watch %s' % RESULT_TERM.lower() else: search_term = name + ' ' + year RESULT_TERM = name.lower() try: GOOGLED = self.GoogleSearch('streamlord.com', search_term) except: GOOGLED = bing.Search('streamlord.com', search_term) RETURN = 'watch %s' % RESULT_TERM.lower() uniques = [] for result in GOOGLED: movie_url = result['url'] TITLE = result['title'] if '?' in movie_url: movie_url = movie_url.split('?')[0] #if not '/watching.html' in movie_url: #movie_url = movie_url + '/watching.html' #movie_url =movie_url.replace('//watching.html','/watching.html') if RETURN.lower() in TITLE.lower(): if movie_url not in uniques: uniques.append(movie_url) self.GetFileHosts(movie_url, list, lock, message_queue, season, episode, type, year) break
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): if type != 'movies': return import re from entertainment.net import Net net = Net() title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) import urllib movie_url = self.base_url + ('search.php?key=%s&submit=' % urllib.quote(name + ' (' + year + ')')) content = net.http_GET(movie_url).content search_result = re.search(r'<div class="movie_pic"><a href="/(.+?)"', content) if search_result: search_result = self.base_url + search_result.group(1) self.GetFileHosts(search_result, list, lock, message_queue)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): custom_url = self.get_url() import urllib2 import re from entertainment.net import Net net = Net() search_term = name category = '' if type == 'tv_episodes': category = 'category=4' elif type == 'movies': category = 'category=5' title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) #Movies = http://oneclickwatch.org/?s=Escape+Plan+2013 #TV Shows = http://www.free-tv-video-online.me/search/?q=2%20broke%20Girls&md=all #tv shows = http://www.free-tv-video-online.me/internet/%s/season_%s.html if type == 'tv_episodes': season_pull = "%s" % season if len(season) < 2 else season episode_pull = "%s" % episode if len(episode) < 2 else episode tv_url = custom_url + '%s/season_%s.html?episode=%s' % ( name.lower().replace(' ', '_'), season_pull, episode_pull) self.GetFileHosts(tv_url, list, lock, message_queue)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net import re,urllib,json net = Net(user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3') name = self.CleanTextForSearch(name) search_term = name.lower() linkme='http://my.mail.ru/cgi-bin/my/ajax?user=&ajax_call=1&func_name=video.get_list&mna=&mnb=&arg_tag=%s&arg_duration=long&arg_sort=&arg_sort_order=desc&arg_hd_exists=&arg_unsafe=0&arg_type=search&arg_offset=0&arg_limit=300' new_url=linkme % (name.replace(' ','+').lower()+'+'+year) response= net.http_GET(new_url).content link=json.loads(response)[-1] data=link['items'] for i in data: _url_=i['ExternalID'] title=i['Title'] time=i['DurationFormat'] if len(time)>5: if name.lower() in title.lower(): if year in title: movie_url='http://videoapi.my.mail.ru/videos/'+_url_+'.json' print movie_url self.GetFileHosts(movie_url, list, lock, message_queue,title)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net import re net = Net() seasonshit = "0%s" % season if len(season) < 2 else season episodeshit = "0%s" % episode if len(episode) < 2 else episode valid_constructor = 'S%sE%s' % (seasonshit, episodeshit) title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) search_url_title = "%s/?s=%s" % (self.base_url, name.replace( ' ', '+').lower()) search_url_digit = "%s/?s=%s%sS%sE%s&cat=" % ( self.base_url, name.replace( ' ', '+').lower(), '%20', seasonshit, episodeshit) print search_url_title print search_url_digit content = net.http_GET(search_url_digit).content match = re.compile( "<a href='http://tv-release.net/(\d*\/.+?)'").findall(content) for url in match: self.GetFileHosts(self.base_url + '/' + url, list, lock, message_queue)
def Resolve(self, url): import re from entertainment.net import Net net = Net() loginurl = 'http://offsidestreams.com/site/wp-login.php' username = self.Settings().get_setting('tv_user') password = self.Settings().get_setting('tv_pwd') site = 'http://offsidestreams.com/site/live-tv/' data = { 'pwd': password, 'log': username, 'wp-submit': 'Log In', 'redirect_to': 'http://offsidestreams.com/site', 'testcookie': '1' } headers = { 'Host': 'offsidestreams.com', 'Origin': 'http://offsidestreams.com', 'Referer': 'http://offsidestreams.com/site/wp-login.php', 'X-Requested-With': 'XMLHttpRequest' } html = net.http_POST(loginurl, data, headers).content auth = re.findall('urlkey1 = "(.+?)"', html, re.M | re.DOTALL)[0] stream_url = '%s swfUrl=http://p.jwpcdn.com/6/8/jwplayer.flash.swf app=liveedge?wmsAuthSign=%s pageUrl=%s swfVfy=true live=true timeout=15' % ( url.replace('" + urlkey1 + "', auth), auth, site) return stream_url
def GetFileHosts(self, url, list, lock, message_queue): from entertainment.net import Net import re net = Net(cached=False) sources = [] THENAME = url content = net.http_GET(url).content links = re.compile(r'\'_blank\'\shref=\'(.+?)\'\>', re.I | re.M | re.DOTALL).findall(content) for url in links: if 'HD' in THENAME.upper(): res = 'HD' elif '720p' in THENAME.lower(): res = '720P' elif '1080p' in THENAME.lower(): res = '1080P' elif 'brrip' in THENAME.lower(): res = '1080P' elif 'dvdrip' in THENAME.lower(): res = 'DVD' else: res = 'SD' if not '.rar' in url or not 'go4up' in url: self.AddFileHost(list, res, url)
def GetFileHosts(self, url, list, lock, message_queue): import re import decrypter from entertainment.net import Net net = Net() movielink = net.http_GET(url).content try: match = re.compile( 'plugins=http://static1.movsharing.com/plugin.+?/proxy.swf&proxy.link=movs*(.+?)&' ).findall(movielink) match = match[0].replace('*', '') s = decrypter.decrypter(192, 128) uncode = s.decrypt(match, 'u3332bcCRs2DvUf17rqq', 'ECB').split('\0')[0] link = net.http_GET(uncode).content match = re.compile('"file":"(.+?)",').findall(link) newurl = match[0].replace('\/', '/') res = 'SD' host = '*GOOGLE.COM' self.AddFileHost(list, res, newurl, host) except: pass links = re.compile( 'rel=".+?" href="(.+?)" target="_blank" title=".+?">Version .+?</a> .+?' ).findall(movielink) for url in links: hostname = re.compile('http://(.+?)/').findall(url) host = str(hostname).replace('www.', '') res = 'SD' self.AddFileHost(list, res, url)
def GetFileHosts(self, url, list, lock, message_queue): from entertainment.net import Net net = Net(do_not_cache_if_any=do_no_cache_keywords_list) custom_url = self.get_url() if self.Settings().get_setting('proxy') == "true": import socks (proxy, port) = self.get_proxy() socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, proxy, port) net.set_socket_class(socks.socksocket) content = common.unescape(common.str_conv(net.http_GET(url).content)) import re #print content for sq in re.finditer(r"quality_(.+?)>.+?url=(.+?)&", content): quality = sq.group(1).upper() quality = quality.replace('"', '') if quality == 'UNKNOWN': continue import base64 host_url = base64.b64decode(sq.group(2)) if not 'affbuzz' in host_url.lower(): if not 'ads.ad-center.com' in host_url.lower(): if not 'offer?' in host_url.lower(): #print quality self.AddFileHost(list, quality, host_url)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net import re net = Net(cached=False, user_agent='/Apple iPhone') name = self.CleanTextForSearch(name) search_term = name.lower().replace(':', '') helper_term = '' ttl_extrctr = '' search = 'https://google.co.uk/search?q=%s' % search_term.replace( ' ', '+') + '+site%3Ahttp%3A%2F%2Fdl4.moviefarsi.com' contents = net.http_GET(search).content match1 = re.compile('<a href="\/url\?q=(.+?)&.+?">(.+?)</a>').findall( contents) for movie_url, name in match1: if 'Index of' in name: content = net.http_GET(movie_url).content match = re.compile('<a href="(.+?)">').findall(content) for URL in match: if search_term.replace(' ', '.') in URL.lower(): MOVIE = movie_url + URL if year in MOVIE.lower(): self.GetFileHosts(MOVIE, list, lock, message_queue)
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): import urllib2 import re from entertainment.net import Net net = Net() title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) search_term = '%s Season %s Episode %s' % (name, season, episode) referer = self.GoogleSearchByTitleReturnFirstResultOnlyIfValid( self.base_url, search_term, '', title_extrctr=['(.+?) Watch Online']) content = net.http_GET( referer, headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36' }).content print '#################################' print referer URL = re.compile('<iframe src="(.+?)"').findall(content)[0] self.GetFileHosts(URL, list, lock, message_queue, referer)
def get_api_key(self): api_key = self.Settings().get_setting('api_key') if api_key==None or api_key=='': furk_user = self.Settings().get_setting('furk_user') furk_pwd = self.Settings().get_setting('furk_pwd') if furk_user != '' and furk_pwd != '': import json from entertainment.net import Net net = Net(cached=False) trans_table = ''.join( [chr(i) for i in range(128)] + [' '] * 128 ) login_command = "/api/login/login" login_params = {"login": furk_user, "pwd": furk_pwd} login_url = "%s%s" % (self.api_url, login_command) #try:login_content = net.http_POST(login_url, login_params).content.translate(trans_table) login_content = net.http_POST(login_url, login_params).content#.translate(trans_table) login_data = json.loads(login_content) if login_data['status'] == 'ok': api_key = login_data['api_key'] self.Settings().set_setting('api_key', api_key) return api_key
def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue): from entertainment.net import Net net = Net(user_agent=self.UA) title = self.CleanTextForSearch(title) name = self.CleanTextForSearch(name) search_term = name.replace(' ', '-') + '-' + year import re url = 'http://umovies.me/search/' + search_term try: net.set_cookies(self.cookie_file) link = net.http_GET(url).content print '##########################' print 'NET' except: from entertainment import cloudflare link = cloudflare.solve(url, self.cookie_file, self.UA) match = re.compile( 'lass="movies list inset">.+?href="(.+?)">.+?class="label">(.+?)<', re.DOTALL).findall(link) for movie_url, TITLE in match: if year in TITLE: self.GetFileHosts('http://umovies.me' + movie_url, list, lock, message_queue)
def Resolve(self, url): from entertainment.net import Net from entertainment import cloudflare import re #print url UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36' net = Net(cached=False, user_agent=UA) try: net.set_cookies(self.cookie_file) result = net.http_GET(url).content net.save_cookies(self.cookie_file) except: result = cloudflare.solve(url, self.cookie_file, UA) #print result.encode('ascii','ignore') stream = re.compile('return\("(.+?)"').findall(result)[0] final = stream.split('://')[1] host = final.split('/')[0] #cf_clearance=re.compile('cf_clearance=(.+?);').findall(open(self.cookie_file).read())[0] #cfduid=re.compile('cfduid=(.+?);').findall(open(self.cookie_file).read())[0] #AND='|Host=%s&User-Agent=%s&Referrer=%s&Connection=keep-alive&Cookie=cfduid=%s;' %(host,UA,url,cfduid) return stream #+AND
def GetSportsContent(self, indexer, type, list, lock, message_queue): sport_url = self.get_url() + self.source_sports_urls[type] from entertainment.net import Net net = Net() content = net.http_GET(sport_url).content import re for item in re.finditer( "(?s)<h3>.+?alt=['\"](.+?)['\"].+?<span>(.+?)</span>.+?href=['\"](/watch/.+?)['\"]", content): title = item.group(1) start_time = re.search('"matchtime">(.*)', item.group(2)) if not start_time: continue import datetime start_time = datetime.date.today().strftime( '%Y %m %d ') + start_time.group(1) url = self.get_url() + item.group(3) self.AddSportsContent(list, indexer, type, common.mode_File_Hosts, title, start_time=start_time, url=url)
def Search(self, indexer, keywords, type, list, lock, message_queue, page='', total_pages=''): if page and len(page) > 0 and total_pages and len(total_pages) > 0 and int(page) > int(total_pages): return if page=='': page='1' from entertainment.net import Net net = Net() search_url ='%spage/%s/?s=%s' %(self.base_url, page, keywords.replace(' ','+')) print search_url import re html = net.http_GET(search_url).content if total_pages == '': r= '<a class="last" href="http://filmstream.me/page/(.+?)/' try: total_pages = re.compile(r).findall(html)[0] except: total_pages = '1' self.AddInfo(list, indexer, 'search', self.base_url, type, str(page), total_pages) for item in re.finditer(r'<h2> <a href="(.+?)">(.+?)</a> </h2>\s*<div class=".+?">.+?</div>\s*</div>\s*<a href=".+?" title="">\s*<img src="(.+?)" alt="(.+?)"',html,re.I): url=item.group(1) name=item.group(4) name=name.split('Stream')[0] image=item.group(3) name = self.CleanTextForSearch(name) self.AddContent(list,indexer,common.mode_File_Hosts,name,'',type, url=url, name=name, img=image, plot='')