def __getIdFromUrl(self, sUrl): sPattern = "id=([^<]+)" oParser = cParser() aResult = oParser.parse(sUrl, sPattern) if (aResult[0] == True): return aResult[1][0] return ''
def __getMediaLinkForGuest(self): api_call = '' oParser = cParser() oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern1 = 'ById\(\'ideoo.+?=\s*["\']([^"\']+)[\'"].+?["\']([^"\']+)\'\)' aResult = oParser.parse(sHtmlContent, sPattern1) if (aResult[0] == True): url = aResult[1][0][1] api_call = 'https://streamtape.com/get_video' + url[url.find('?'):] + "&stream=1" if api_call: return True, api_call + '|User-Agent=' + UA + '&Referer=' + self.__sUrl return False, False
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) oRequest.addHeaderEntry('User-Agent', UA) sHtmlContent = oRequest.request() urlDonwload = oRequest.getRealUrl() oParser = cParser() possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" fin_url = ''.join(random.choice(possible) for _ in range(10)) sPattern = 'return a\+"(\?token=[^"]+)"' d = oParser.parse(sHtmlContent, sPattern)[1][0] fin_url = fin_url + d + str(int(1000 * time.time())) sPattern = "\$\.get\('(\/pass_md5[^']+)" aResult = oParser.parse(sHtmlContent, sPattern) url2 = 'https://' + urlDonwload.split('/')[2] + aResult[1][0] #VSlog(url2) oRequest = cRequestHandler(url2) oRequest.addHeaderEntry('User-Agent', UA) oRequest.addHeaderEntry('Referer', urlDonwload) sHtmlContent = oRequest.request() #VSlog(sHtmlContent) #api_call = compute(sHtmlContent) + fin_url api_call = sHtmlContent + fin_url #VSlog(api_call) if (api_call): api_call = api_call + '|Referer=' + urlDonwload return True, api_call return False, False
def checkSubtitle(self, sHtmlContent): oParser = cParser() # On ne charge les sous titres uniquement si vostfr se trouve dans le titre. # if not re.search("<h1 class='file-title'>[^<>]+(?:TRUEFRENCH|FRENCH)[^<>]*</h1>", sHtmlContent, re.IGNORECASE): if "<track type='vtt'" in sHtmlContent: sPattern = '<track type=[\'"].+?[\'"] kind=[\'"]subtitles[\'"] src=[\'"]([^\'"]+).vtt[\'"] srclang=[\'"].+?[\'"] label=[\'"]([^\'"]+)[\'"]>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): Files = [] for aEntry in aResult[1]: url = aEntry[0] label = aEntry[1] url = url + '.srt' if not url.startswith('http'): url = 'http:' + url if 'Forc' not in label: Files.append(url) return Files return False
def __getMediaLinkForGuest(self): api_call = '' oParser = cParser() oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern1 = "innerHTML = ([^;]+)" aResult = oParser.parse(sHtmlContent, sPattern1) if (aResult[0] == True): url = aResult[1][0] url = url.replace(' ', '').replace('"', '').replace("'", "").replace("+", "") VSlog(url) api_call = 'https:' + url + "&stream=1" if (api_call): return True, api_call + '|User-Agent=' + UA + '&Referer=' + self.__sUrl return False, False
def __getMediaLinkForGuest(self): api_call = False url = self.__sUrl keymorocco = '' keymycountry = '' morocco = '' mycountry = '' urlapi = "https://userload.co/api/assets/userload/js/videojs.js" # ne marche plus (sur kodi18.7) # sHtmlContent1 = decodeData(requests.get(urlapi).text) oRequestHandler = cRequestHandler(urlapi) sHtmlContent1 = oRequestHandler.request() oParser = cParser() sPattern = '(゚ω゚.+?\(\'_\'\);)' aResult = oParser.parse(sHtmlContent1, sPattern) if (aResult[0] == True): sdecode = AADecoder(aResult[1][0]).decode() sPattern = 'morocco=".([^\W]+).+?"&mycountry=".([^\W]+)' aResult_2 = oParser.parse(sdecode, sPattern) if (aResult_2[0] == True): keymorocco = aResult_2[1][0][0] keymycountry = aResult_2[1][0][1] referer = url.split('|Referer=')[1] url = url.split('|Referer=')[:-1][0] oRequestHandler = cRequestHandler(url) oRequestHandler.addHeaderEntry('Referer', referer) sHtmlContent1 = oRequestHandler.request() sPattern2 = '<script type="text/javascript">(\s*eval\s*\(\s*function(?:.|\s)+?{}\)\))' aResult = re.findall(sPattern2, sHtmlContent1) if aResult: str2 = aResult[0] if not str2.endswith(';'): str2 = str2 + ';' strs = cPacker().unpack(str2) oParser = cParser() sPattern = 'var\s(.+?)="([^"]*)' aResult = oParser.parse(strs, sPattern) if (aResult[0] == True): for r in aResult[1]: if r[0] == keymorocco: morocco = r[1] if r[0] == keymycountry: mycountry = r[1] if morocco and mycountry: url2 = 'https://userload.co/api/request/' pdata = 'morocco=' + morocco + '&mycountry=' + mycountry oRequest = cRequestHandler(url2) oRequest.setRequestType(1) oRequestHandler.addHeaderEntry('User-Agent', UA) oRequest.addHeaderEntry('Content-Type', 'application/x-www-form-urlencoded') oRequest.addHeaderEntry('Content-Length', len(str(pdata))) oRequest.addHeaderEntry('Referer', url) oRequest.addParametersLine(pdata) api_call = oRequest.request() if 'mp4' in api_call and 'uloadcdn.com' in api_call: return True, api_call.strip() return False, False