def doLogin(self, login, password, s): logged = False premium = False loginUrl = 'http://wizja.tv/users/index.php' HTTP_HEADER = dict(self.HTTP_HEADER) HTTP_HEADER.update({'Referer': loginUrl}) params = dict(self.http_params) params['header'] = HTTP_HEADER post_data = { 'user_name': login, 'user_password': password, 'login': '******' } data = self.postUrlRequestData(loginUrl, s, post_data) data = data.text # log data if data: if '?logout' in data: log('WizjaTvApi.doLogin login as [%s]' % login) logged = True if 'Premium aktywne do ' in data: premium = True else: log('WizjaTvApi.doLogin login failed - wrong user or password? %s' % login) return logged, premium
def postUrlRequestData(url, s, data, proxy=False): proxyDict = { "http": "66.70.147.195:3128", } if proxy: log("WizjaTvApi.Proxy = True") log("WizjaTvApi.ProxyIP: " + str(proxyDict)) r = s.post(url, data=data, proxies=proxyDict) return r else: r = s.post(url, data=data) return r
def getUrlRequestData(url, s, proxy=False): proxyDict = { "http": "66.70.147.195:3128", } if proxy: log("WizjaTvApi.Proxy = True") log("WizjaTvApi.ProxyIP: " + str(proxyDict)) r = s.get(url, proxies=str(proxyDict)) return r else: r = s.get(url) return r
def getVideoLink(self, url, s): log("WizjaTvApi.getVideoLink") urlsTab = [] data = s.get(url).content data = client.parseDOM(data, 'iframe', ret='src') log("WizjaTvApi." + str(data)) for url in data: HTTP_HEADER = dict(self.HTTP_HEADER) HTTP_HEADER.update({'Referer': url}) params = dict(self.http_params) params['header'] = HTTP_HEADER tries = 0 while tries < 2: tries += 1 if 'porter' in url or 'player' in url: tmp = s.get("http://wizja.tv/" + url).text videoUrl = re.search('src: "(.*?)"', tmp) try: videoUrl = videoUrl.group(1) videoUrl = urllib.unquote(videoUrl).decode('utf8') except: log_exception() videoUrl = '' killUrl = re.search("""<a href="(.*?)" target="_top">Z""", tmp) try: killUrl = killUrl.group(1) killUrl = urllib.unquote(killUrl).decode('utf8') except: log_exception() killUrl = '' if videoUrl != '': urlTab = re.search( """rtmp:\/\/([^\/]+?)\/([^\/]+?)\/([^\/]+?)\?(.+?)&streamType""", str(videoUrl)) xbmc_rtmp = 'rtmp://' + urlTab.group(1) + '/' + urlTab.group( 2) + '?' + urlTab.group(4) + \ ' app=' + urlTab.group(2) + '?' + urlTab.group(4) + \ ' playpath=' + urlTab.group(3) + '?' + urlTab.group(4) + \ ' swfVfy=1 flashver=LNX\\25,0,0,12 timeout=25 ' \ 'swfUrl=https://wizja.tv/player/StrobeMediaPlayback_v5.swf live=0 ' \ 'pageUrl=https://wizja.tv/' + str(url).replace("porter.php?ch", "watch.php?id") urlsTab.append({'name': 'rtmp', 'url': xbmc_rtmp}) else: s.get("http://wizja.tv/" + killUrl) continue break return urlsTab
def search(self, titles,season,episode): try: for title in titles: log("FanFilm.IITVX Wyszukiwanie serialu po tytule: %s" % title) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0', 'Referer': 'http://iitvx.pl/' } data = {'text': title} result = client.request(self.search_link, post=data, headers=headers) if result is None: continue query = 'S00E00' if int(season)<10: query = query.replace('S00', 'S0'+season) if int(season)>=10: query = query.replace('S00', 'S'+season) if int(episode)<10: query = query.replace('E00', 'E0'+episode) if int(episode)>=10: query = query.replace('E00', 'E'+episode) result = client.parseDOM(result, 'div', attrs={'class':'episodes-list'}) results = client.parseDOM(result, 'li') for result in results: test = client.parseDOM(result, 'span')[1] if query == str(test): log("FanFilm.IITVX Znalazlem odcinek: %s" % query) link = client.parseDOM(result, 'a', ret='href')[0] log("FanFilm.IITVX Znalazlem serial pod linkiem: %s" % link) return link except Exception: log_exception() return
def search(self, titles, season, episode): try: for title in titles: log("FanFilm.IITVX Wyszukiwanie serialu po tytule: %s" % title) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36', 'Referer': self.base_link } data = {'text': title} result = self.session.post(self.search_link, data=data, headers=headers).content if result is None: continue query = 'S00E00' if int(season) < 10: query = query.replace('S00', 'S0' + season) if int(season) >= 10: query = query.replace('S00', 'S' + season) if int(episode) < 10: query = query.replace('E00', 'E0' + episode) if int(episode) >= 10: query = query.replace('E00', 'E' + episode) result = client.parseDOM(result, 'div', attrs={'class': 'episodes-list'}) results = client.parseDOM(result, 'li') for result in results: test = client.parseDOM(result, 'span')[1] if query == str(test): log("FanFilm.IITVX Znalazlem odcinek: %s" % query) link = client.parseDOM(result, 'a', ret='href')[0] log("FanFilm.IITVX Znalazlem serial pod linkiem: %s" % link) return link except Exception: log_exception() return
def resolve(self, url): try: splitted = url.split("'") host = splitted[1] video_id = splitted[3] transl_url = urlparse.urljoin(self.base_link, self.resolve_link) % (host, video_id) result = client.request(transl_url, redirect=False, cookie="prch=true") scripts = client.parseDOM(result, 'script') for script in scripts: if 'var url' in script: link = script.split("'")[1] if not 'watch' in link: log("FanFilm.Ekino-TV VideoLink: " + link) return link result = client.request(self.base_link + link) video_link = client.parseDOM(result, 'iframe ', ret='src')[0] log("FanFilm.Ekino-TV VideoLink: " + video_link) return video_link except: return None
def getList(self): log("WizjaTvApi.getChannelsList") import requests s = requests.Session() if self.login != '' and self.password != '': ret = self.doLogin(self.login, self.password, s) if ret[0]: self.loggedIn = True if not ret[1]: log('Użytkownika "%s" zalogowany poprawnie. Brak premium!' % login) return [] else: log('Problem z zalogowanie użytkownika "%s". Sprawdź dane do logowania w konfiguracji hosta.' % login) self.loggedIn = False return [] else: log('Serwis ten wymaga zalogowania. Wprowadź swój login i hasło w konfiguracji hosta dostępnej po naciśnięciu niebieskiego klawisza.' ) return [] channelsTab = [] data = self.getUrlRequestData("http://wizja.tv/", s) data = client.parseDOM(data.text, 'ul', attrs={'class': 'dropdown-menu'})[0] linki = client.parseDOM(data, 'a', ret='href') ikony = client.parseDOM(data, 'img', ret='src') for tuple in zip(linki, ikony): icon = str("http://wizja.tv/" + tuple[1]) url = str("http://wizja.tv/" + tuple[0]) title = icon.split('/')[-1][:-4].upper() params = { 'name': 'wizja.tv', 'type': 'video', 'title': title, 'url': url, 'icon': icon } channelsTab.append(params) return s, channelsTab
} data = { "login": str(xbmcplugin.getSetting(int(sys.argv[1]), 'user')), 'password': str(xbmcplugin.getSetting(int(sys.argv[1]), 'pass')), 'signin': 'ok' } s.post('https://strefadb.pl/', data=data, headers=headers) cookie = s.cookies.get_dict() cookie_string = "; ".join( [str(x) + "=" + str(y) for x, y in cookie.items()]) cache.cache_insert('strefadb_cookie', str(cookie_string)) SUBCATEGORIES('Lektor') elif mode == 'Lektor': log('Mode Lektor') SUBCATEGORIES('Lektor') elif mode == 'ListowanieLinkow': from urlparse import urlparse cookie = cache.cache_get('strefadb_cookie') if type(cookie) is dict: cookie = cookie['value'] HEADERS['Cookie'] = cookie link = params['url'] result = s.get(link, headers=HEADERS).content result = client.parseDOM(result, 'div', attrs={'class': 'video-holder'}) result = client.parseDOM(result, 'tr') for item in result:
def Wszystkie(): Wszystkie_Lista = [ ('Abelard Giza', '244'), ('Adam Van Bendler', '290'), ('Akademia Rozrywki', '202'), ('Alosza Awdiejew', '227'), ('Andrzej Grabowski', '1'), ('Andrzej Poniedzielski', '2'), ('Antoni Gorgoń-Grucha', '289'), ('Antoni Syrek-Dąbrowski', '250'), ('Artur Andrus', '3'), ('Bartek Walos', '253'), ('Bartosz Gajda', '288'), ('Bartosz Zalewski', '281'), ('Cezary Jurkiewicz', '239'), ('Cezary Pazura', '4'), ('Co leci w sieci', '254'), ('Comedy Central Prezentuje Stand Up', '193'), ('Comedy Menshow', '255'), ('Dasza Von Yock', '126'), ('Dzięki Bogu już weekend', '247'), ('Ewa Błachnio', '263'), ('Fair Play Crew', '259'), ('Festiwale kabaretowe', '229'), ('Filharmonia Dowcipu', '98'), ('Formacja Chatelet', '5'), ('Formacja Kompania Grabi', '34'), ('Formacja Legitymacje', '6'), ('Genowefa Pigwa', '268'), ('Grupa AD HOC', '217'), ('Grupa Inicjatyw Teatralnych', '7'), ('Grupa MoCarta', '8'), ('Grupa Rafała Kmity', '11'), ('Grupy Impro', '232'), ('Grzegorz Halama', '12'), ('HBO - Stand Up Comedy Club', '189'), ('Hu jak humor', '194'), ('I kto to mówi?', '246'), ('Ipkis', '279'), ('Ireneusz Krosny', '13'), ('Ja Mmm Chyba Ściebie', '118'), ('Jacek Fedorowicz', '14'), ('Jacek Noch', '272'), ('Jacek Stramik', '283'), ('Jacek Ziobro', '15'), ('Jan Pietrzak', '277'), ('Jan Tadeusz Stanisławski', '17'), ('Janusz Gajos', '18'), ('Janusz Rewiński', '19'), ('Jerzy Kryszak', '20'), ('Jerzy Stuhr', '143'), ('Jim Williams', '240'), ('Joanna Jeżewska', '21'), ('Kabaret 3D', '149'), ('Kabaret 44-200', '237'), ('Kabaret 7 minut Po', '234'), ('Kabaret Adin', '117'), ('Kabaret Afera', '22'), ('Kabaret Ancla', '249'), ('Kabaret Ani Mru-Mru', '23'), ('Kabaret Babeczki z Rodzynkiem', '24'), ('Kabaret Bartki', '142'), ('Kabaret Bes Szans', '175'), ('Kabaret BudaPesz', '274'), ('Kabaret Cegła', '25'), ('Kabaret Chwilowo Kaloryfer', '26'), ('Kabaret Chyba', '153'), ('Kabaret Ciach', '27'), ('Kabaret Czesuaf', '28'), ('Kabaret Członek Polski', '163'), ('Kabaret Czołówka Piekła', '273'), ('Kabaret Czwarta Fala', '157'), ('Kabaret Dabz', '144'), ('Kabaret DKD', '29'), ('Kabaret Długi', '30'), ('Kabaret Dno', '31'), ('Kabaret Dudek', '32'), ('Kabaret Dworski', '204'), ('Kabaret Elita', '33'), ('Kabaret Hi Fi (Halama, Kamys)', '35'), ('Kabaret Hlynur', '36'), ('Kabaret Hrabi', '37'), ('Kabaret Huć', '187'), ('Kabaret Inaczej', '168'), ('Kabaret Inni Inaczej', '154'), ('Kabaret Inteligentny', '132'), ('Kabaret IPN', '114'), ('Kabaret Jurki', '38'), ('Kabaret K2', '233'), ('Kabaret Kałamasz', '216'), ('Kabaret Kałasznikof', '39'), ('Kabaret Klakier', '113'), ('Kabaret Klinkiernia', '40'), ('Kabaret Koń Polski', '41'), ('Kabaret Kuzyni', '42'), ('Kabaret Limo', '43'), ('Kabaret Łowcy.B', '101'), ('Kabaret Macież', '125'), ('Kabaret Made in China', '45'), ('Kabaret Masakra', '155'), ('Kabaret Mimika', '172'), ('Kabaret Młodych Panów', '46'), ('Kabaret Moralnego Niepokoju', '47'), ('Kabaret Mumio', '48'), ('Kabaret Na Koniec Świata', '265'), ('Kabaret Napad', '49'), ('Kabaret Neo-Nówka', '50'), ('Kabaret Nic nie szkodzi', '138'), ('Kabaret Nie My', '221'), ('Kabaret Niepoprawnych Optymistów', '257'), ('Kabaret NOC', '129'), ('Kabaret Noł Nejm', '51'), ('Kabaret Non-Sens', '52'), ('Kabaret Nowaki', '127'), ('Kabaret Olgi Lipińskiej', '54'), ('Kabaret OTOoni', '55'), ('Kabaret OT.TO', '56'), ('Kabaret Paralaksa', '178'), ('Kabaret Paranienormalni', '57'), ('Kabaret PiC', '162'), ('Kabaret Pirania', '58'), ('Kabaret Po Żarcie', '59'), ('Kabaret Pod Bańką', '208'), ('Kabaret Pod Egidą', '60'), ('Kabaret Pod Grzybem', '133'), ('Kabaret Pod Napięciem', '236'), ('Kabaret Pod Wyrwigroszem', '61'), ('Kabaret Poszukiwani', '148'), ('Kabaret Potem', '62'), ('Kabaret PUK', '121'), ('Kabaret Rak', '63'), ('Kabaret Rewers', '260'), ('Kabaret Róbmy Swoje', '190'), ('Kabaret Sakreble', '64'), ('Kabaret Skeczów Męczących', '65'), ('Kabaret Słuchajcie', '66'), ('Kabaret Smile', '67'), ('Kabaret Snobów', '151'), ('Kabaret Starszych Panów', '68'), ('Kabaret Statyf', '69'), ('Kabaret Stonka Ziemniaczana', '165'), ('Kabaret Świerszczychrząszcz', '73'), ('Kabaret Szarpanina', '173'), ('Kabaret Szum', '70'), ('Kabaret Szydera', '124'), ('Kabaret Taleja', '112'), ('Kabaret Tenor', '72'), ('Kabaret Tera Jem', '161'), ('Kabaret Tey (Laskowik)', '74'), ('Kabaret TIRURIRU', '222'), ('Kabaret To Za Duże Słowo', '103'), ('Kabaret Trzecia Strona Medalu', '261'), ('Kabaret Ucho', '131'), ('Kabaret Weźrzesz', '186'), ('Kabaret Widelec', '76'), ('Kabaret Ymlałt', '158'), ('Kabaret z Konopi', '77'), ('Kabaret Z Nazwy', '78'), ('Kabaret Zachodni', '264'), ('Kabaret Zażarty', '79'), ('Kabaret Zwiększonego Ryzyka', '160'), ('Kabaret Zygzak', '120'), ('Kabaretowy Klub Dwójki', '225'), ('Kabaretowy Klub Kanapowy', '251'), ('Kabaretożercy (teleturniej)', '174'), ('Kabaretus Fraszka', '206'), ('Kabarety zza kulis', '198'), ('Kacper Ruciński', '141'), ('Kaczka Pchnięta Nożem', '180'), ('Karol Kopiec', '243'), ('Karol Modzelewski', '280'), ('Katarzyna Pakosińska', '248'), ('Katarzyna Piasecka', '136'), ('Kevin Aiston', '80'), ('Krzesło Wuja Tobiasza', '135'), ('Krzysztof Daukszewicz', '81'), ('Krzysztof Piasecki', '82'), ('Kabarety', '286'), ('Kwartet Okazjonalny', '83'), ('Latajacy Klub Dwójki', '256'), ('Leszek Lichota', '150'), ('Liquidmime', '171'), ('Łukasz Błąd', '140'), ('Łukasz Kaczmarczyk', '287'), ('Łukasz Lotek Lodkowski', '267'), ('Maciej Stuhr', '84'), ('Magda Mleczak', '85'), ('Mann i Materna', '86'), ('Marcin Daniec', '87'), ('Marcin Wojciech', '235'), ('Marek Grabie', '241'), ('Marek Majewski', '88'), ('Marian Opania', '89'), ('Michał Kempa', '210'), ('Narwani z Kontekstu', '275'), ('Olka Szczęśniak', '284'), ('Paweł Dłużewski', '90'), ('Paweł Reszela', '203'), ('Piotr Bałtroczyk', '91'), ('Piotr Bukartyk', '215'), ('Projekt Kwiaty', '116'), ('Pyda Squad', '146'), ('Rafał Pacześ', '276'), ('Rafał Rutkowski', '242'), ('Rodzina Trendych', '184'), ('Ryszard Makowski', '92'), ('Ścibor Szpak', '102'), ('Sebastian Rejent', '270'), ('Sekcja Muzyczna Kołłątajowskiej Kuźni Prawdziwych Mężczyzn', '258'), ('Siedem Razy Jeden', '231'), ('Sławomir', '282'), ('Słoiczek po cukrze', '119'), ('Spadkobiercy', '111'), ('Stado Umtata', '122'), ('Stanisław Tym', '93'), ('Steffen Möller', '94'), ('Szymon Jachimek', '262'), ('Szymon Łątkowski', '266'), ('Tadeusz Drozda', '137'), ('Tadeusz Ross', '96'), ('Teatr Montownia', '152'), ('Tercet czyli Kwartet', '213'), ('The Umbilical Brothers', '200'), ('Tomasz Boras', '285'), ('Tomasz Jachimek', '16'), ('Tomasz Nowaczyk', '245'), ('Tomek Biskup', '269'), ('Trzeci Oddech Kaczuchy', '97'), ('Tylko dla dorosłych', '238'), ('Ucho Prezesa', '278'), ('Wojciech Młynarski', '164'), ('Wojtek Fiedorczuk', '271'), ('Wspólne występy', '167'), ('Wytwórnia AYOY', '99'), ('Za chwilę dalszy ciąg programu', '130'), ('Zabij Mnie Śmiechem', '176'), ('Zaczynam kabaret', '223'), ('Zagraniczne Kabarety', '170') ] results = Wszystkie_Lista log(results) for item in results: addon.addDir(item[0], item[1], mode=4)