コード例 #1
0
ファイル: netu.py プロジェクト: valas69/venom-xbmc-addons
def DecodeAllThePage(html):
    
    #html = urllib.unquote(html)
    
    Maxloop = 10
    
    #unescape
    while (Maxloop > 0):
        Maxloop = Maxloop - 1

        r = re.search(r'unescape\("([^"]+)"\)', html, re.DOTALL | re.UNICODE)
        if not r:
            break
        
        tmp = cUtil().unescape(r.group(1))
        html = html[:r.start()] + tmp + html[r.end():]
        
    #unwise
    while (Maxloop > 0):
        Maxloop = Maxloop - 1

        r = re.search(r'(;eval\(function\(w,i,s,e\){.+?\)\);)\s*<', html, re.DOTALL | re.UNICODE)
        if not r:
            break
        
        tmp = data = unwise.unwise_process(r.group(1))
        html = html[:r.start()] + tmp + html[r.end():]

    return html
コード例 #2
0
ファイル: netu.py プロジェクト: LordVenom/venom-xbmc-addons
def DecodeAllThePage(html):

    #html = urllib.unquote(html)

    Maxloop = 10

    #unescape
    while (Maxloop > 0):
        Maxloop = Maxloop - 1

        r = re.search(r'unescape\("([^"]+)"\)', html, re.DOTALL | re.UNICODE)
        if not r:
            break

        tmp = cUtil().unescape(r.group(1))
        html = html[:r.start()] + tmp + html[r.end():]

    #unwise
    while (Maxloop > 0):
        Maxloop = Maxloop - 1

        r = re.search(r'(;eval\(function\(w,i,s,e\){.+?\)\);)\s*<', html, re.DOTALL | re.UNICODE)
        if not r:
            break

        tmp = data = unwise.unwise_process(r.group(1))
        html = html[:r.start()] + tmp + html[r.end():]

    return html
コード例 #3
0
ファイル: ttvs.py プロジェクト: bubuleur/GujalKodiWork
    def get_videos(self,url):
        videos = []
            
        html = requests.get(url, headers=self.hdr).text
        mlink = SoupStrainer('div', {'class':'entry'})
        videoclass = BeautifulSoup(html, parseOnlyThese=mlink)

        try:
            links = videoclass.findAll('iframe')
            for link in links:
                vidurl = link.get('src')
                if 'tamiltvtube' in vidurl:
                    headers = self.hdr
                    headers['Referer'] = url
                    slink = requests.get(vidurl, headers=headers).text
                    hoster = 'TamilTVTube '
                    srclist = re.findall('(\[.*?\])', slink)[0]
                    strlinks = eval(srclist)
                    for strlink in strlinks:
                        elink = strlink['file']
                        if '&' in elink:
                            elink = urllib.quote(elink)
                        try:
                            qual = strlink['label']
                        except:
                            qual = 'HLS'
                        vidhost = hoster + qual
                        videos.append((vidhost,elink))
                
                elif 'videozupload' in vidurl:
                    headers = self.hdr
                    headers['Referer'] = url
                    html = requests.get(vidurl, headers=headers).text
                    match = re.search('id="container"(.+?</script>)', html, re.DOTALL)
                    if match:
                        data = match.group(1)
                        while 'w,i,s,e' in data:
                            data = unwise.unwise_process(data)
                        match = re.search("source:\s*'([^']+)", data)
                        if match:
                            elink = match.group(1)
                            vidhost = 'GVideo'
                            videos.append((vidhost,elink))
                    
                else:
                    self.resolve_media(vidurl,videos)
        except:
            pass

        try:
            links = videoclass.findAll('a', {'type':'button'})
            for link in links:
                vidurl = re.findall("(http.*?)'",link.get('onclick'))[0]
                if 'tv?vq=medium#/' in vidurl:
                    vidurl = vidurl.replace('tv?vq=medium#/','')
                self.resolve_media(vidurl,videos)
        except:
            pass
            
        return videos
コード例 #4
0
    def get_videos(self,url):
        videos = []
            
        html = requests.get(url, headers=self.hdr).text

        try:
            links = re.findall('(<iframe.+?iframe>)',html)
            for link in links:
                vidurl = re.findall('src="([^"]+)',link)[0]
                #xbmc.log("vid_url = %s" %vidurl,xbmc.LOGNOTICE)
                if 'tamiltvtube' in vidurl:
                    headers = self.hdr
                    headers['Referer'] = url
                    slink = requests.get(vidurl, headers=headers).text
                    hoster = 'TamilTVTube '
                    srclist = re.findall('(\[.*?\])', slink)[0]
                    strlinks = eval(srclist)
                    for strlink in strlinks:
                        elink = strlink['file']
                        if '&' in elink:
                            elink = urllib.quote(elink)
                        try:
                            qual = strlink['label']
                        except:
                            qual = 'HLS'
                        vidhost = hoster + qual
                        videos.append((vidhost,elink))
                
                elif 'videozupload' in vidurl:
                    headers = self.hdr
                    headers['Referer'] = url
                    html = requests.get(vidurl, headers=headers).text
                    match = re.search('id="container"(.+?</script>)', html, re.DOTALL)
                    if match:
                        data = match.group(1)
                        while 'w,i,s,e' in data:
                            data = unwise.unwise_process(data)
                        match = re.search("source:\s*'([^']+)", data)
                        if match:
                            elink = match.group(1)
                            vidhost = 'GVideo'
                            videos.append((vidhost,elink))
                    
                else:
                    vidurl = vidurl.split('&')[0]
                    self.resolve_media(vidurl,videos)
        except:
            pass

        try:
            vidurl = re.findall("window.open\('([^']+)",html)[0]
            vidurl = vidurl.split('&')[0]
            if 'tv?vq=medium#/' in vidurl:
                vidurl = vidurl.replace('tv?vq=medium#/','')
            self.resolve_media(vidurl,videos)
        except:
            pass
            
        return videos
コード例 #5
0
ファイル: netu.py プロジェクト: valas69/venom-xbmc-addons
class cHoster(iHoster):

    def __init__(self):
        self.__sDisplayName = 'Netu'
        self.__sFileName = self.__sDisplayName

    def getDisplayName(self):
        return  self.__sDisplayName

    def setDisplayName(self, sDisplayName):
        self.__sDisplayName = sDisplayName + ' [COLOR skyblue]' + self.__sDisplayName + '[/COLOR]'

    def setFileName(self, sFileName):
	    self.__sFileName = sFileName

    def getFileName(self):
	    return self.__sFileName
    
    def setUrl(self, sUrl):
        self.__sUrl = sUrl.replace('https','http')
        self.__sUrl = self.__sUrl.replace('http://netu.tv/','http://hqq.tv/')
        self.__sUrl = self.__sUrl.replace('http://waaw.tv/','http://hqq.tv/')
        self.__sUrl = self.__sUrl.replace('http://hqq.tv/player/hash.php?hash=','http://hqq.tv/player/embed_player.php?vid=')
        self.__sUrl = self.__sUrl.replace('http://hqq.tv/watch_video.php?v=','http://hqq.tv/player/embed_player.php?vid=')
    
    def __getIdFromUrl(self):
        sPattern = 'https*:\/\/hqq\.(?:tv|player|watch)\/player\/embed_player\.php\?vid=([0-9A-Za-z]+)'
        oParser = cParser()
        aResult = oParser.parse(self.__sUrl, sPattern)
        
        if (aResult[0] == True):
            return aResult[1][0]
        return ''

    def getPluginIdentifier(self):
        return 'netu'

    def isDownloadable(self):
        return False

    def getMediaLink(self):
        return self.__getMediaLinkForGuest()

    def __getMediaLinkForGuest(self):
    
        api_call = ''
    
        id = self.__getIdFromUrl()
        
        self.__sUrl = 'http://hqq.tv/player/embed_player.php?vid=' + id + '&autoplay=no'

        headers = {'User-Agent': UA ,
                   #'Host' : 'hqq.tv',
                   'Referer': 'http://hqq.tv/',
                   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
                   #'Accept-Encoding':'gzip, deflate, br',
                   #'Content-Type': 'text/html; charset=utf-8'
                   }
        
        player_url = self.__sUrl
        
        req = urllib2.Request(player_url, None, headers)
        try:
            response = urllib2.urlopen(req)
            html = response.read()
            response.close()
        except urllib2.URLError, e:
            VSlog(e.read())
            VSlog(e.reason)
            html = e.read()

        Host = 'https://hqq.watch/'

        data = ''
        code_crypt = re.search('(;eval\(function\(w,i,s,e\){.+?\)\);)\s*<', html, re.DOTALL)
        if code_crypt:
            data = unwise.unwise_process(code_crypt.group(1))
        else:
            VSlog('prb1')       
            
        if data:
            http_referer = ''
            _pass = ''
            
            iss = GetIp()
            vid = re.search('&vid=([^&]+)', data, re.DOTALL).group(1)
            at = re.search('&at=([^&]+)', data, re.DOTALL).group(1)
            r = re.search('&http_referer=([^&]+)', data, re.DOTALL)
            if r:
                http_referer = r.group(1)
            
            url2 = Host + "sec/player/embed_player.php?iss=" + iss + "&vid=" + vid + "&at=" + at + "&autoplayed=yes&referer=on&http_referer=" + http_referer + "&pass="******"&embed_from=&need_captcha=0"
            #VSlog( url2 )
            
            req = urllib2.Request(url2,None,headers)
            
            try:
                response = urllib2.urlopen(req)
                data = response.read()
                response.close()
            except urllib2.URLError, e:
                VSlog(e.read())
                VSlog(e.reason)
                data = e.read()

            data = urllib.unquote(data)

            data = DecodeAllThePage(data)

            at = re.search(r'var\s*at\s*=\s*"([^"]*?)"', data)
            
            l = re.search(r'link_1: ([a-zA-Z]+), server_1: ([a-zA-Z]+)', data)
            
            vid_server = re.search(r'var ' + l.group(2) + ' = "([^"]+)"', data).group(1)
            vid_link = re.search(r'var ' + l.group(1) + ' = "([^"]+)"', data).group(1)
            
            #new video id, not really usefull
            m = re.search(r' vid: "([a-zA-Z0-9]+)"}', data)
            if m:
                id = m.group(1)
            
            if vid_server and vid_link and at:

                #get_data = {'server': vid_server.group(1), 'link': vid_link.group(1), 'at': at.group(1), 'adb': '0/','b':'1','vid':id} #,'iss':'MzEuMz'
                get_data = {'server_1': vid_server, 'link_1': vid_link, 'at': at.group(1), 'adb': '0/','b':'1','vid':id}

                headers['x-requested-with'] = 'XMLHttpRequest'

                req = urllib2.Request(Host + "/player/get_md5.php?" + urllib.urlencode(get_data), None, headers)
                try:
                    response = urllib2.urlopen(req)
                except urllib2.URLError, e:
                    VSlog(str(e.read()))
                    VSlog(str(e.reason))
                    
                data = response.read()
                #VSlog(data)
                response.close()

                file_url = re.search(r'"obf_link"\s*:\s*"([^"]*?)"', data)
               
                if file_url:
                    list_url = decodeUN(file_url.group(1).replace('\\', ''))
コード例 #6
0
ファイル: netu.py プロジェクト: toupaiter/venom-xbmc-addons
class cHoster(iHoster):

    def __init__(self):
        self.__sDisplayName = 'netu'
        self.__sFileName = self.__sDisplayName

    def getDisplayName(self):
        return  self.__sDisplayName

    def setDisplayName(self, sDisplayName):
        self.__sDisplayName = sDisplayName + ' [COLOR skyblue]'+self.__sDisplayName+'[/COLOR]'

    def setFileName(self, sFileName):
	self.__sFileName = sFileName

    def getFileName(self):
	return self.__sFileName
    
    def setUrl(self, sUrl):
        self.__sUrl = sUrl.replace('https','http')
        self.__sUrl = sUrl.replace('http://netu.tv/','http://hqq.tv/')
        self.__sUrl = self.__sUrl.replace('http://waaw.tv/','http://hqq.tv/')
        self.__sUrl = self.__sUrl.replace('http://hqq.tv/watch_video.php?v=','http://hqq.tv/player/embed_player.php?vid=')       
    
    def __getIdFromUrl(self):
        sPattern = 'https*:..hqq.tv.player.embed_player.php\?vid=([0-9A-Z]+)'
        oParser = cParser()
        aResult = oParser.parse(self.__sUrl, sPattern)
        
        if (aResult[0] == True):
            return aResult[1][0]
        return ''
        
    def __modifyUrl(self, sUrl):          
        return


    def getPluginIdentifier(self):
        return 'netu'

    def isDownloadable(self):
        return False

    def isJDownloaderable(self):
        return True

    def getPattern(self):
        return '';

    def checkUrl(self, sUrl):
        return True

    def getUrl(self):
        return self.__sUrl

    def getMediaLink(self):
        return self.__getMediaLinkForGuest()
        
    #def GetIP(self):
    #    req = urllib2.Request('http://hqq.tv/player/ip.php?type=json')
    #    response = urllib2.urlopen(req)  
    #    data = response.read()
    #    response.close()
    #    result = json.loads(data)
    #    ip =  result[u'ip']
    #    ip = urllib.quote(ip)
    #    return ip

    def __getMediaLinkForGuest(self):
    
        api_call = ''
    
        id = self.__getIdFromUrl()
        
        self.__sUrl = 'http://hqq.tv/player/embed_player.php?vid=' + id + '&autoplay=no'

        UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0'
        #UA = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us)'
        headers = {'User-Agent': UA ,
                   'Host' : 'hqq.tv',
                   'Referer': 'http://hqq.tv/',
                   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
                   'Content-Type': 'text/html; charset=utf-8'}
        
        player_url = self.__sUrl
        
        req = urllib2.Request(player_url, None, headers)
        try:
            response = urllib2.urlopen(req)
            html = response.read()
            response.close()
        except urllib2.URLError, e:
            #xbmc.log( e.read())
            #xbmc.log(e.reason)
            html = e.read()
                        
        #fh = open('c:\\netu1.txt', "w")
        #fh.write(html)
        #fh.close()

        data = ''
        code_crypt = re.search('(;eval\(function\(w,i,s,e\){.+?\)\);)\s*<', html, re.DOTALL)
        if code_crypt:
            data = unwise.unwise_process(code_crypt.group(1))
        else:
            cConfig().log('prb1')

        #xbmc.log('data :' + data)
            
        if data:
            
            iss = GetIp()
            vid = re.search('var vid *= *"([^"]+)";', data, re.DOTALL).group(1)
            at = re.search('var at = "([^"]+)";', data, re.DOTALL).group(1)
            http_referer = re.search('var http_referer *= *"([^"]+)";', data, re.DOTALL).group(1)
            _pass = ''
            
            url2 = "http://hqq.tv/sec/player/embed_player.php?iss="+iss+"&vid="+vid+"&at="+at+"&autoplayed=yes&referer=on&http_referer="+http_referer+"pass="******"&embed_from=&need_captcha=0"
            
            #cConfig().log(url2)
            
            req = urllib2.Request(url2,None,headers)
            
            try:
                response = urllib2.urlopen(req)
                data = response.read()
                response.close()
            except urllib2.URLError, e:
                #xbmc.log( e.read())
                #xbmc.log(e.reason)
                data = e.read()

            data = urllib.unquote(data)
            
            data = DecodeAllThePage(data)
            
            #fh = open('c:\\netu2.txt', "w")
            #fh.write(data)
            #fh.close()

            at = re.search(r'var\s*at\s*=\s*"([^"]*?)"', data)
            
            l = re.search(r'link_1: ([a-zA-Z]+), server_1: ([a-zA-Z]+)', data)
            
            vid_server = re.search(r'var ' + l.group(2) + ' = "([^"]+)"', data).group(1)
            vid_link = re.search(r'var ' + l.group(1) + ' = "([^"]+)"', data).group(1)
            
            #new video id, not really usefull
            m = re.search(r' vid: "([a-zA-Z0-9]+)"}', data)
            if m:
                id = m.group(1)
            
            #id = '9QQrbdts6wNA'
            
            if vid_server and vid_link and at:

                #get_data = {'server': vid_server.group(1), 'link': vid_link.group(1), 'at': at.group(1), 'adb': '0/','b':'1','vid':id} #,'iss':'MzEuMz'
                get_data = {'server_1': vid_server, 'link_1': vid_link, 'at': at.group(1), 'adb': '0/','b':'1','vid':id}
                
                #xbmc.log(str(get_data))

                headers['x-requested-with'] = 'XMLHttpRequest'

                req = urllib2.Request("http://hqq.tv/player/get_md5.php?" + urllib.urlencode(get_data),None,headers)
                try:
                    response = urllib2.urlopen(req)
                except urllib2.URLError, e:
                    cConfig().log(str(e.read()))
                    cConfig().log(str(e.reason))
                    
                data = response.read()
                response.close()
                
                #fh = open('c:\\netu3.txt', "w")
                #fh.write(data)
                #fh.close()
                
                file_url = re.search(r'"file"\s*:\s*"([^"]*?)"', data)
               
                if file_url:
                    list_url = _decode2(file_url.group(1).replace('\\', ''))