def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote(title) query = urlparse.urljoin(self.base_link, query) #control.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@ %s" % query) result = client.source(query) title = cleantitle.movie(title) years = [ '%s' % str(year), '%s' % str(int(year) + 1), '%s' % str(int(year) - 1) ] r = client.parseDOM(result, 'div', attrs={'class': 'ml-item'}) r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title')) for i in r] r = [(i[0][0], i[1][-1]) for i in r if len(i[0]) > 0 and len(i[1]) > 0] r = [(re.sub('http.+?//.+?/', '', i[0]), i[1]) for i in r] r = [('/'.join(i[0].split('/')[:2]), i[1]) for i in r] r = [x for y, x in enumerate(r) if x not in r[:y]] r = [i for i in r if title == cleantitle.movie(i[1])] u = [i[0] for i in r][0] url = urlparse.urljoin(self.base_link, u) url = urlparse.urlparse(url).path url = client.replaceHTMLCodes(url) url = url.encode('utf-8') control.log("@@@@@@@@@@@@@@@ URL %s" % url) return url except: return
def get_movie(self, imdb, title, year): try: query = urlparse.urljoin(self.base_link, self.search_link) post = urllib.urlencode({'action': 'ajaxy_sf', 'sf_value': title}) result = client.source(query, post=post) result = result.replace('–', '-').replace('’', '\'') result = json.loads(result) result = result['post']['all'] title = cleantitle.movie(title) result = [ i['post_link'] for i in result if title == cleantitle.movie(i['post_title']) ][0] check = client.source(result) if not str(imdb) in check: raise Exception() try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = client.parseDOM(result, 'div', attrs={'class': 'Post-body'}) title = cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in result] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = urlparse.urljoin(self.base_link, self.moviesearch_link + urllib.quote_plus(title)) result = cloudflare.source(query) if result == None: result = client.source(self.__proxy() + urllib.quote_plus(query)) r = client.parseDOM(result, 'li', attrs = {'class': 'first element.+?'}) r += client.parseDOM(result, 'li', attrs = {'class': 'element.+?'}) r += client.parseDOM(result, 'header', attrs = {'class': 'entry-header'}) title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in r] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [(i[0], re.compile('(.+? [(]\d{4}[)])').findall(i[1])) for i in result] result = [(i[0], i[1][0]) for i in result if len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['q'][0] except: pass url = urlparse.urlparse(url).path url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link post = {'searchquery': title, 'searchin': '1'} post = urllib.urlencode(post) result = '' headers = {"Content-Type":"application/x-www-form-urlencoded", "Referer":urlparse.urljoin(self.base_link, query)} result = client.request(urlparse.urljoin(self.base_link, query), post=post, headers=headers) #if 'widget search-page' in str(result): break print("R",result) result = client.parseDOM(result, 'div', attrs = {'class': 'widget search-page'})[0] result = client.parseDOM(result, 'td') title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href')[-1], client.parseDOM(i, 'a')[-1]) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass url = urlparse.urlparse(url).path url = url.encode('utf-8') return url except Exception as e: control.log("ERR iwatch %s" % e) return
def get_movie(self, imdb, title, year): try: self.base_link = self.base_link query = '%s %s' % (title, year) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, "div", attrs={"class":"boxinfo"}) title = cleantitle.movie(title) for item in result: searchTitle = client.parseDOM(item, "span", attrs={"class":"tt"})[0] try : searchTitle = re.compile('(.+?) \d{4} ').findall(searchTitle)[0] except: pass searchTitle = cleantitle.movie(searchTitle) if title in searchTitle: url = client.parseDOM(item, "a", ret="href")[0] url = re.compile(".+/(.+?)/").findall(url)[0] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: post = "%s %s" % (title, year) post = self.search_post % (urllib.quote_plus(post)) query = urlparse.urljoin(self.base_link, self.search_link) result = client.source(query, post=post) result = client.parseDOM(result, "div", attrs={"id": "dle-content"})[0] title = cleantitle.movie(title) result = client.parseDOM(result, "div", attrs={"class": "short-film"}) result = client.parseDOM(result, "h5") result = [(client.parseDOM(i, "a", ret="href"), client.parseDOM(i, "a")) for i in result] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] if not len(result) == 1: raise Exception() result = result[0][0] try: url = re.compile("//.+?(/.+)").findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode("utf-8") return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = cloudflare.source(query) result = client.parseDOM(result, "ul", attrs={"class": "listing-videos.+?"})[0] result = client.parseDOM(result, "li", attrs={"class": ".+?"}) title = cleantitle.movie(title) years = ["(%s)" % str(year), "(%s)" % str(int(year) + 1), "(%s)" % str(int(year) - 1)] result = [(client.parseDOM(i, "a", ret="href")[0], client.parseDOM(i, "a", ret="title")[0]) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] try: url = re.compile("//.+?(/.+)").findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode("utf-8") return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = cloudflare.source(query) result = client.parseDOM(result, 'div', attrs = {'id': 'post-.+?'}) title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a', ret='title')[0], client.parseDOM(i, 'div', attrs = {'class': 'status status-year'}), client.parseDOM(i, 'div', attrs = {'class': 'mark-8'})) for i in result] result = [(i[0], i[1], i[2][0], i[3]) for i in result if len(i[2]) > 0] result = [(i[0], i[1], i[2], i[3], re.compile('Season (\d*)$').findall(i[1])) for i in result] result = [(i[0], i[1], i[2], i[3]) for i in result if len(i[4]) == 0] result = [(i[0], i[1], i[2]) for i in result if len(i[3]) == 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[2] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] src = 'http://dayt.se/forum/search.php?do=process' post = { 'titleonly': 1, 'securitytoken': 'guest', 'do': 'process', 'q': title, 'B1': '' } title = cleantitle.movie(title) result = client.source(src, post=post) result = client.parseDOM(result, 'h3', attrs={'class': 'searchtitle'}) result = [(client.parseDOM(i, 'a', attrs={'class': 'title'}, ret='href')[0], client.parseDOM(i, 'a', attrs={'class': 'title'})[0]) for i in result] result = [i for i in result if title in cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] result = re.compile('(.+?)(?:&)').findall(result)[0] return result except: return
def get_movie(self, imdb, title, year): try: url = None self.base_link = random.choice( [self.base_link_1, self.base_link_2]) query = '%s %s' % (title, year) query = title query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, "div", attrs={"class": "result clearfix"}) title = cleantitle.movie(title) for item in result: item = client.parseDOM(item, "div", attrs={"class": "details"})[0] searchTitle = client.parseDOM(item, "a")[0] searchTitle = cleantitle.movie(searchTitle) if title == searchTitle: url = client.parseDOM(item, "a", ret="href")[0] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: query = urlparse.urljoin(self.base_link, self.search_link) result = client.source(query) title = cleantitle.movie(title) years = [ '%s' % str(year), '%s' % str(int(year) + 1), '%s' % str(int(year) - 1) ] result = re.compile('(<li>.+?</li>)').findall(result) result = [i for i in result if "'main2'" in i] result = [ re.compile('href=(.+?)>(.+?)<').findall(i) for i in result ] result = [i[0] for i in result if len(i) > 0] result = [(i[0], re.compile('(.+?) [(](\d{4})[)]').findall(i[1])) for i in result] result = [(i[0], i[1][0][0], i[1][0][1]) for i in result if len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[2] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = random.choice([self.base_link_1, self.base_link_2]) query = '%s %s' % (title, year) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link % 'search', query) result = client.source(query, headers=self.headers,safe=True) result = result.decode('iso-8859-1').encode('utf-8') result = json.loads(result) result = result['resultObj']['suggestion'] title = cleantitle.movie(title) for item in result: searchTitle = cleantitle.movie(item['title']) if title == searchTitle: url = self.cdn_link % item['contentId'] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: url = self.moviesearch_link % (cleantitle.geturl(title), year) r = urlparse.urljoin(self.base_link, url) r = client.request(r) try: r1 = client.parseDOM(r, 'title')[0] if not '(%s)' % year in r1: raise Exception() return url except: pass title = cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] print("Y", url, "X ", title, r) r = client.parseDOM(r, 'div', attrs={'class': 'item_movie'}) r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'img', ret='alt')[0]) for i in r] r = [(i[0][0], i[1], re.findall('(\d{4})', i[1])[0]) for i in r if len(i[0]) > 0 and len(i[1]) > 0] r = [i for i in r if title == cleantitle.movie(i[1])] r = [i[0] for i in r if any(x in i[1] for x in years)] url = re.findall('(//.+?|)(/.+)', r[0])[0][1] url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote_plus(title +' '+year) query = urlparse.urljoin(self.base_link, query) control.log('@ONECLICKWA %s' % query) result = client.request(self.base_link) control.log('Result %s' % result) result = client.request(query, headers={'Referer':self.base_link}) control.log('Result %s' % result) years = ['%s' % str(year), '%s' % str(int(year) + 1), '%s' % str(int(year) - 1)] result = client.parseDOM(result, 'h2', attrs={'class': 'title'}) result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a')[0]) for i in result] #print('R',result) result = [i for i in result if cleantitle.movie(title.lower()) in cleantitle.movie(i[1]).lower()] #print('R',result) result = [i for i in result if any(x in i[1] for x in years)] #print('R',result) result2 = [i for i in result if '1080' in i[1]] #print('R',result) result3 = [i for i in result if '720' in i[1].lower()] #print('R',result) if len(result3) > 0: result = result3 if len(result2) > 0: result = result2 url = result[0][0] return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) control.log("cda-online URL %s" % query) result = client.request(query) result = client.parseDOM(result, "div", attrs={"class": "item"}) # print('cda-online',result) result = [ ( client.parseDOM(i, "a", ret="href")[0], client.parseDOM(i, "h2")[0], client.parseDOM(i, "span", attrs={"class": "year"})[0], ) for i in result ] # print('cda-online2',result) result = [i for i in result if cleantitle.movie(title) in cleantitle.movie(i[1])] # print('cda-online3',result) years = ["%s" % str(year), "%s" % str(int(year) + 1), "%s" % str(int(year) - 1)] result = [i[0] for i in result if any(x in i[2] for x in years)][0] # print('cda-online4',result) try: url = re.compile("//.+?(/.+)").findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode("utf-8") control.log("ALLTUBE URL %s" % url) return url except: return
def get_movie(self, imdb, title, year): try: post = '%s %s' % (title, year) post = self.search_post % (urllib.quote_plus(post)) query = urlparse.urljoin(self.base_link, self.search_link) result = client.source(query, post=post) result = client.parseDOM(result, 'div', attrs = {'id': 'dle-content'})[0] title = cleantitle.movie(title) result = client.parseDOM(result, 'div', attrs = {'class': 'short-film'}) result = client.parseDOM(result, 'h5') result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in result] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] if not len(result) == 1: raise Exception() result = result[0][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote(title) query = urlparse.urljoin(self.base_link, query) result = cloudflare.source(query) title = cleantitle.movie(title) years = ["%s" % str(year), "%s" % str(int(year) + 1), "%s" % str(int(year) - 1)] result = client.parseDOM(result, "div", attrs={"class": "ml-item"}) result = [ ( client.parseDOM(i, "a", ret="href"), client.parseDOM(i, "h2"), re.compile("class *= *['|\"]jt-info['|\"]>(\d{4})<").findall(i), ) for i in result ] result = [(i[0][0], i[1][0], i[2][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0 and len(i[2]) > 0] result = [i for i in result if any(x in i[2] for x in years)] result = [(i[0], re.sub("\d{4}$", "", i[1]).strip()) for i in result] result = [i[0] for i in result if title == cleantitle.movie(i[1])][0] try: url = re.compile("//.+?(/.+)").findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode("utf-8") return url except: return
def get_movie(self, imdb, title, year): try: query = urlparse.urljoin( self.base_link, self.search_link % (urllib.quote_plus(title))) query += self.__extra() result = client.source(query, headers=self.headers) result = json.loads(result) result = self.__decrypt(self.data_key, result['data']) result = json.loads(result) result = result['categories'] title = cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] result = [(i['catalog_id'], i['catalog_name'].encode('utf-8'), str(i['type_film'])) for i in result] result = [i for i in result if i[2] == '0'] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = str(result) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: t = cleantitle.movie(title) try: query = self.search2_link % urllib.quote_plus(title) query = urlparse.urljoin(self.base_link, query) result = client.request(query) r = client.parseDOM(result, 'div', attrs = {'class': 'ml-item'}) r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title')) for i in r] r = [(i[0][0], i[1][-1]) for i in r if len(i[0]) > 0 and len(i[1]) > 0] r = [(re.sub('http.+?//.+?/','', i[0]), i[1]) for i in r] r = [('/'.join(i[0].split('/')[:2]), i[1]) for i in r] r = [x for y,x in enumerate(r) if x not in r[:y]] r = [i[0] for i in r if t == cleantitle.movie(i[1])] for i in r: url = self._info(i, year) if not url == None: return url except: import traceback traceback.print_exc() pass except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote(title) query = urlparse.urljoin(self.base_link, query) result = client.request(query) title = cleantitle.movie(title) years = [ '%s' % str(year), '%s' % str(int(year) + 1), '%s' % str(int(year) - 1) ] r = client.parseDOM(result, 'div', attrs={'class': 'item_movie'}) r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title')) for i in r] r = [(i[0][0], i[1][-1]) for i in r if len(i[0]) > 0 and len(i[1]) > 0] r = [(re.sub('//.+?/', '', i[0]), i[1], re.findall('(\d{4})', i[1])[0]) for i in r] r = [i for i in r if any(x in i[1] for x in years)] r = [i for i in r if title in cleantitle.movie(i[1])] u = [i[0] for i in r][0] url = urlparse.urljoin(self.base_link, '/' + u) url = urlparse.urlparse(url).path url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = json.loads(result) result = result['data']['films'] title = cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] result = [(i['id'], i['title'].encode('utf-8')) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])][:2] result = [(i[0], self.base_link + self.detail_link % i[0]) for i in result] result = [(i[0], client.source(i[1])) for i in result] result = [(i[0], json.loads(i[1])['data']['state']) for i in result] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = str(result) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = client.parseDOM(result, 'div', attrs = {'class': 'home_post_cont.+?'}) title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'img', ret='title')[0]) for i in result] result = [(i[0], client.replaceHTMLCodes(i[1])) for i in result] result = [(i[0], client.parseDOM(i[1], 'a')) for i in result] result = [(i[0], i[1][0]) for i in result if len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): return try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('utf-8').encode('utf-8') result = client.parseDOM(result, 'li') title = cleantitle.movie(title) result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a')[0]) for i in result] result = [(i[0], re.sub('<.+?>|</.+?>','', i[1])) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = result[-1][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') #print("Result Movie - 3",result,url) return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote_plus(title) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode("iso-8859-1").encode("utf-8") result = client.parseDOM(result, "div", attrs={"class": "movie_table"}) title = cleantitle.movie(title) years = ["(%s)" % str(year), "(%s)" % str(int(year) + 1), "(%s)" % str(int(year) - 1)] result = [(client.parseDOM(i, "a", ret="href")[0], client.parseDOM(i, "a", ret="title")[1]) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)["u"][0] except: pass url = urlparse.urlparse(url).path url = url.encode("utf-8") return url except: return
def get_movie(self, imdb, title, year): try: query = urlparse.urljoin(self.base_link, self.search_link) result = client.source(query) title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = re.compile('(<li>.+?</li>)').findall(result) result = [i for i in result if "'main2'" in i] result = [re.compile('href=(.+?)>(.+?)<').findall(i) for i in result] result = [i[0] for i in result if len(i) > 0] result = [(i[0], re.compile('(.+?) [(](\d{4})[)]').findall(i[1])) for i in result] result = [(i[0], i[1][0][0], i[1][0][1]) for i in result if len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[2] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = random.choice([self.base_link_1, self.base_link_2]) self.login() query = '%s %s' % (title, year) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link,query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = json.loads(result) result = result['rows'] title = cleantitle.movie(title) for item in result: searchTitle = cleantitle.movie(item['title']) if title == searchTitle: url = self.info_link % item['asset_id'] break if url == None or url == '': raise Exception() return url except: return
def get_show(self, imdb, tvdb, tvshowtitle, year): try: query = self.search_link % (urllib.quote_plus(cleantitle.query2(tvshowtitle))) query = urlparse.urljoin(self.base_link, query) result = client.request(query) result = result.decode('utf-8-sig') result = client.parseDOM(result, 'ul', attrs={'id': 'resultList2'})[0] result = client.parseDOM(result, 'li') result = [(client.parseDOM(i,'div', attrs={'class':'title'}), client.parseDOM(i, 'div', attrs={'class': 'info'}), client.parseDOM(i, 'a', ret='href')[0]) for i in result] result = [(i[0][0], re.findall(r"(\d{4})", i[1][0])[0], i[2]) for i in result] years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = [i for i in result if cleantitle.movie(tvshowtitle) in cleantitle.movie(i[0])] result = [i[2] for i in result if any(x in i[1] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') print url return url except: return
def get_movie(self, imdb, title, year): try: data = os.path.join(control.dataPath, 'filmikz.db') download = True try: download = abs(datetime.datetime.fromtimestamp(os.path.getmtime(data)) - (datetime.datetime.now())) > datetime.timedelta(days=7) except: pass if download == True: result = client.source(base64.b64decode(self.data_link)) zip = zipfile.ZipFile(StringIO.StringIO(result)) zip.extractall(control.dataPath) zip.close() dbcon = database.connect(data) dbcur = dbcon.cursor() dbcur.execute("SELECT * FROM movies WHERE year = '%s'" % year) result = dbcur.fetchone() result = eval(result[1].encode('utf-8')) title = cleantitle.movie(title) result = [i[0] for i in result if title == cleantitle.movie(i[1])][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote_plus(title) query = urlparse.urljoin(self.base_link, query) result = self.request(query, 'movie_table') result = client.parseDOM(result, 'div', attrs = {'class': 'movie_table'}) title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'img', ret='alt')) for i in result] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [i for i in result if any(x in i[1] for x in years)] result = [i[0] for i in result if title == cleantitle.movie(i[1])][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['q'][0] except: pass try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass url = urlparse.urlparse(url).path url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = self.base_link query = '%s' % (title) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, "div", attrs={"class": "tab-content mt20"})[0] result = client.parseDOM(result, "div", attrs={"id": "movies_tab"})[0] result = client.parseDOM(result, "div", attrs={"class": "media-left"}) title = cleantitle.movie(title) for item in result: searchTitle = client.parseDOM(item, "a", ret="title")[0] searchTitle = re.compile('(.+?) [(]\d{4}[)]$').findall( searchTitle)[0] searchTitle = cleantitle.movie(searchTitle) if title == searchTitle: url = client.parseDOM(item, "a", ret="href")[0] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link query = urlparse.urljoin(self.base_link, query) if title == 'WALLAE': title = 'WALL·E' post = urllib.urlencode({'keyword': title}) result = cloudflare.source(query, post=post) result = client.parseDOM(result, 'table', attrs={'class': 'listing'}) result = client.parseDOM(result, 'a', ret='href') title = cleantitle.movie(title) try: url = [i for i in result if title in cleantitle.movie(i)][0] except: pass url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = re.compile('showResult\((.*)\)').findall(result)[0] result = json.loads(result) result = result['feed']['entry'] title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = [i for i in result if 'movies' in [x['term'].lower() for x in i['category']]] result = [[x for x in i['link'] if x['rel'] == 'alternate' and x['type'] == 'text/html'][0] for i in result] result = [(i['href'], i['title']) for i in result] result = [(i[0], re.compile('(.+?) (\d{4})(.+)').findall(i[1])) for i in result] result = [(i[0], i[1][0][0], i[1][0][1], i[1][0][2]) for i in result if len(i[1]) > 0] result = [(i[0], i[1], i[2]) for i in result if not 'TS' in i[3] and not 'CAM' in i[3]] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[2] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link post = {'searchquery': title, 'searchin': '1'} post = urllib.urlencode(post) result = '' links = [self.link_1, self.link_3] for base_link in links: result = client.request(urlparse.urljoin(base_link, query), post=post, headers=self.headers) if 'widget search-page' in str(result): break result = client.parseDOM(result, 'div', attrs = {'class': 'widget search-page'})[0] result = client.parseDOM(result, 'td') title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href')[-1], client.parseDOM(i, 'a')[-1]) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass url = urlparse.urlparse(url).path url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = self.base_link query = '%s' % (title) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, "div", attrs={"class":"tab-content mt20"})[0] result = client.parseDOM(result, "div", attrs={"id":"movies_tab"})[0] result = client.parseDOM(result, "div", attrs={"class":"media-left"}) title = cleantitle.movie(title) for item in result: searchTitle = client.parseDOM(item, "a", ret="title")[0] searchTitle = re.compile('(.+?) [(]\d{4}[)]$').findall(searchTitle)[0] searchTitle = cleantitle.movie(searchTitle) if title == searchTitle: url = client.parseDOM(item, "a", ret="href")[0] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): return try: query = self.moviesearch_link % (urllib.unquote(title)) query = urlparse.urljoin(self.base_link, query) control.log('IITV URL %s' % query) result = client.source(query) result = json.loads(result) result = [i for i in result['suggestions'] if len(i) > 0] years = [ '%s' % str(year), '%s' % str(int(year) + 1), '%s' % str(int(year) - 1) ] result = [(i['data'].encode('utf8'), i['value'].encode('utf8')) for i in result] result = [ i for i in result if cleantitle.movie(title) in cleantitle.movie(i[1]) ] result = [i[0] for i in result if any(x in i[1] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') control.log('ALLTUBE URL %s' % url) return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote_plus(title + ' ' + year) query = urlparse.urljoin(self.base_link, query) result = client2.http_get(query) years = [ '%s' % str(year), '%s' % str(int(year) + 1), '%s' % str(int(year) - 1) ] result = client.parseDOM(result, 'h2', attrs={'class': 'title'}) result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a')[0]) for i in result] print('R', result) result = [ i for i in result if cleantitle.movie(title.lower()) in cleantitle.movie(i[1]).lower() ] print('R', result) result = [i for i in result if any(x in i[1] for x in years)] print('R', result) result2 = [i for i in result if '1080' in i[1]] print('R', result) result3 = [i for i in result if '720' in i[1].lower()] print('R', result) if len(result3) > 0: result = result3 if len(result2) > 0: result = result2 url = result[0][0] return url except: return
def get_movie(self, imdb, title, year): try: query = self.moviesearch_link % urllib.quote_plus(title) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, 'div', attrs={'class': 'item'}) title = 'watch' + cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a', ret='title')[0]) for i in result] result = [i for i in result if '-movie-online-' in i[0]] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] result = result.split('-movie-online-', 1)[0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: search = 'http://www.omdbapi.com/?i=%s' % imdb search = client.source(search) search = json.loads(search) country = [i.strip() for i in search['Country'].split(',')] if not 'India' in country: return languages = ['hindi', 'tamil', 'telugu', 'malayalam'] language = [i.strip().lower() for i in search['Language'].split(',')] language = [i for i in language if any(x == i for x in languages)][0] query = self.search_link % (urllib.quote_plus(title), language) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = client.parseDOM(result, 'div', attrs = {'class': 'search-category'}) result = [i for i in result if 'Movies' in client.parseDOM(i, 'p')[0]][0] result = client.parseDOM(result, 'li') title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a')[0]) for i in result] r = [i for i in result if any(x in i[1] for x in years)] if not len(r) == 0: result = r result = [i[0] for i in result if title == cleantitle.movie(i[1])][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = url.replace('../', '/') url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.request(query) result = client.parseDOM(result, 'div', attrs={'class': 'movie clearfix'}) result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'span', attrs={'class': 'title-pl'}), client.parseDOM(i, 'span', attrs={'class': 'title-en'}), client.parseDOM(i, 'img', ret='src'), client.parseDOM(i, 'p'), client.parseDOM(i, 'p', attrs={'class': 'plot'})) for i in result ] result = [(i[0][0], u" ".join(i[1]+i[2]), re.findall('(\d{4})', i[4][0])) for i in result] result = [i for i in result if cleantitle.movie(title) in cleantitle.movie(i[1])] years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = [i[0] for i in result if any(x in i[2] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') control.log('FILMYTO URL %s' % url) return url except Exception as e: control.log('FILMYTO getmovie ERROR %s' % e) return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('utf-8').encode('utf-8') result = client.parseDOM(result, 'li') title = cleantitle.movie(title) result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a')[0]) for i in result] result = [(i[0], re.sub('<.+?>|</.+?>', '', i[1])) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = result[-1][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') #print("Result Movie - 3",result,url) return url except: return
def get_movie(self, imdb, title, year): try: query = urlparse.urljoin( self.base_link, self.search_link % (urllib.quote_plus(title))) result = self.__request(query) result = json.loads(result) result = result['categories'] title = cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] result = [(i['catalog_id'], i['catalog_name'].encode('utf-8')) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = str(result) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = cloudflare.source(query) title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = client.parseDOM(result, 'li', attrs = {'class': 'border.+?'}) result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in result] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [(i[0], client.parseDOM(i[1], 'span')) for i in result] result = [(i[0], i[1][0]) for i in result if len(i[1]) > 0] result = [(i[0], re.compile('(.+)[\.|\(|\[|\s](\d{4})[\.|\)|\]|\s|]').findall(i[1])) for i in result] result = [(i[0], i[1][0][0].strip(), i[1][0][1]) for i in result if len(i[1]) > 0] result = [i for i in result if any(x in i[2] for x in years)] result = [i[0] for i in result if title == cleantitle.movie(i[1])][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote_plus(title) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, 'div', attrs={'class': 'movie_table'}) title = cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'a', ret='title')[1]) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass url = urlparse.urlparse(url).path url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link post = {'searchquery': title, 'searchin': '1'} result = '' links = [self.link_1, self.link_3] for base_link in links: result = client.source(urlparse.urljoin(base_link, query), post=post, headers=self.headers) if 'widget search-page' in str(result): break result = client.parseDOM(result, 'div', attrs = {'class': 'widget search-page'})[0] result = client.parseDOM(result, 'td') title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href')[-1], client.parseDOM(i, 'a')[-1]) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass url = urlparse.urlparse(url).path url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = random.choice([self.base_link_1, self.base_link_2]) query = '%s %s' % (title, year) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, "item") title = cleantitle.movie(title) for item in result: searchTitle = client.parseDOM(item, "title")[0] searchTitle = cleantitle.movie(searchTitle) if title == searchTitle: url = client.parseDOM(item, "link")[0] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link2 % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) for i in range(5): result = client.source(query, close=False) if not result == None: break result = client.parseDOM(result, 'section', attrs = {'id': 'contentrea'})[0] title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = zip(client.parseDOM(result, 'a', ret='href'), client.parseDOM(result, 'a')) result = [(i[0], re.compile('(^Watch Full "|^Watch |)(.+? \d{4})').findall(i[1])) for i in result] result = [(i[0], i[1][0][-1]) for i in result if len(i[1]) > 0] result = [(i[0], re.compile('(.+?) (\d{4})$').findall(i[1])) for i in result] result = [(i[0], i[1][0][0], i[1][0][1]) for i in result if len(i[1]) > 0] result = [i for i in result if any(x in i[2] for x in years)] result = [i[0] for i in result if title == cleantitle.movie(i[1])][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = random.choice( [self.base_link_1, self.base_link_2]) self.login() query = '%s %s' % (title, year) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = json.loads(result) result = result['rows'] title = cleantitle.movie(title) for item in result: searchTitle = cleantitle.movie(item['title']) if title == searchTitle: url = self.info_link % item['asset_id'] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % urllib.quote(title) query = urlparse.urljoin(self.base_link, query) #control.log("rainierland-0 @@@@@@@@@@@@@@@@@@@@@@@@@@@@ %s" % query) result = client2.http_get(query) title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] r = client.parseDOM(result, 'div', attrs = {'class': 'thumb'}) #control.log("rainierland-1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@ %s" % r) r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title')) for i in r] #control.log("rainierland-2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@ %s" % r) r = [(i[0][0], i[1][-1]) for i in r if len(i[0]) > 0 and len(i[1]) > 0] #control.log("rainierland-3 @@@@@@@@@@@@@@@@@@@@@@@@@@@@ %s" % r) r = [(re.sub('http.+?//.+?/','', i[0]), i[1]) for i in r] #control.log("rainierland-4 @@@@@@@@@@@@@@@@@@@@@@@@@@@@ %s" % r) r = [('/'.join(i[0].split('/')[:2]), i[1]) for i in r] r = [x for y,x in enumerate(r) if x not in r[:y]] r = [i for i in r if title == cleantitle.movie(i[1])] u = [i[0] for i in r][0] url = urlparse.urljoin(self.base_link, u) url = urlparse.urlparse(url).path url = client.replaceHTMLCodes(url) url = url.encode('utf-8') #control.log("rainierland url @@@@@@@@@@@@@@@@@@@@@@@@@@@@ %s" % url) return url except: return
def get_movie(self, imdb, title, year): try: query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = client.parseDOM(result, 'li', attrs = {'class': '[^"]*movie[^"]*'}) title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'h4')) for i in result] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result][0] url = re.compile('movie-detail/(.+?)/').findall(result)[0] url = self.detail_link % url url = url.encode('utf-8') if len(result) > 1: y = client.source(urlparse.urljoin(self.base_link, url)) y = re.compile('(\d{4})-\d{2}-\d{2}').findall(y)[-1] if not str(y) in years: raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = random.choice([self.base_link_1, self.base_link_2]) query = self.search_link % (urllib.quote_plus(title)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = client.parseDOM(result, 'div', attrs = {'class': 'cell_container'}) title = cleantitle.movie(title) years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title')) for i in result] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [(i[0], re.compile('(.+?) [(](\d{4})[)]').findall(i[1])) for i in result] result = [(i[0], i[1][0][0], i[1][0][1]) for i in result if len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[2] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: query = urlparse.urljoin(self.base_link, self.moviesearch_link + urllib.quote_plus(title)) result = cloudflare.source(query) if result == None: result = client.source(self.proxy_link + urllib.quote_plus(query)) r = client.parseDOM(result, 'li', attrs = {'class': 'first element.+?'}) r += client.parseDOM(result, 'li', attrs = {'class': 'element.+?'}) r += client.parseDOM(result, 'header', attrs = {'class': 'entry-header'}) title = cleantitle.movie(title) years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)] result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in r] result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0] result = [(i[0], re.compile('(.+? [(]\d{4}[)])').findall(i[1])) for i in result] result = [(i[0], i[1][0]) for i in result if len(i[1]) > 0] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] url = client.replaceHTMLCodes(result) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['q'][0] except: pass url = urlparse.urlparse(url).path url = url.encode('utf-8') return url except: return
def get_movie(self, imdb, title, year): try: self.base_link = random.choice( [self.base_link_1, self.base_link_2]) query = '%s %s' % (title, year) query = self.search_link % (urllib.quote_plus(query)) query = urlparse.urljoin(self.base_link, query) result = client.source(query) result = result.decode('iso-8859-1').encode('utf-8') result = client.parseDOM(result, "item") title = cleantitle.movie(title) for item in result: searchTitle = client.parseDOM(item, "title")[0] searchTitle = cleantitle.movie(searchTitle) if title == searchTitle: url = client.parseDOM(item, "link")[0] break if url == None or url == '': raise Exception() return url except: return
def get_movie(self, imdb, title, year): try: query = urllib.quote_plus( title.replace(' ', '-').rsplit(':', 1)[0]) query = urlparse.urljoin(self.base_link, self.search_link % query) result = cloudflare.source(query, mobile=True) result = client.parseDOM(result, 'ul', attrs={'class': 'movies.+?'}) result = client.parseDOM(result, 'li') title = cleantitle.movie(title) years = [ '(%s)' % str(year), '(%s)' % str(int(year) + 1), '(%s)' % str(int(year) - 1) ] result = [(client.parseDOM(i, 'a', ret='href')[0], client.parseDOM(i, 'h3')[0]) for i in result] result = [i for i in result if title == cleantitle.movie(i[1])] result = [i[0] for i in result if any(x in i[1] for x in years)][0] try: url = re.compile('//.+?(/.+)').findall(result)[0] except: url = result url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return