Example #1
0
def get_link(item):
    content = getUrl(item.get('url'),useCookies=True)
    link=re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)', re.IGNORECASE + re.DOTALL + re.MULTILINE + re.UNICODE).findall(content)
    if link:
        link=re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0])
        header = {'User-Agent':UA,
                  'Referer':item.get('url')}
        data = getUrl(link,header=header,useCookies=True)
        f=re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data)
        s=re.compile('.*?name="s"\s*value=["\']([^"\']+)["\']').findall(data)
        r=re.compile('[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data)
        if s:
            s=aes.decode_hls(s[0])
            sk=re.compile('"stkey":"(.*?)"').findall(s)
            sk = sk[0] if sk else ''
        if f and r:
            enc_data=json.loads(base64.b64decode(f[0]))
            ciphertext = 'Salted__' + enc_data['s'].decode('hex') + base64.b64decode(enc_data['ct'])
            src=aes.decrypt(item.get('key'),base64.b64encode(ciphertext))
            src=src.replace('"','').replace(sk,'').encode('utf-8')
            print src
            href=aes.decode_hls(src)
            if href:
                href +='|Referer=%s&User-Agent=%s'%(urllib.quote(r[0]),UA)
                return href
    return ''
def getChannelVideo(item):
    content = getUrl(item.get('url'), useCookies=True)
    links = re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)', re.IGNORECASE +
                       re.DOTALL + re.MULTILINE + re.UNICODE).findall(content)
    link = [x for x in links if '&#' in x]
    if link:
        link = re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0])
        header = {'User-Agent': UA, 'Referer': item.get('url')}
        data = getUrl(link, header=header, useCookies=True)
        f = re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data)
        d = re.compile('.*?name="d"\s*value=["\']([^"\']+)["\']').findall(data)
        r = re.compile('.*?name="r"\s*value=["\']([^"\']+)["\']').findall(data)
        action = re.compile(
            '[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data)
        srcs = re.compile('src=[\'"](.*?)[\'"]').findall(data)
        if f and r and d and action:
            payload = urllib.urlencode({'d': d[0], 'f': f[0], 'r': r[0]})
            data2, c = getUrlc(action[0],
                               payload,
                               header=header,
                               useCookies=True)
            link = re.compile(
                '\([\'"][^"\']+[\'"], [\'"][^"\']+[\'"], [\'"]([^"\']+)[\'"], 1\)'
            ).findall(data2)
            enc_data = json.loads(base64.b64decode(link[0]))
            ciphertext = 'Salted__' + enc_data['s'].decode(
                'hex') + base64.b64decode(enc_data['ct'])
            src = aes.decrypt(item.get('key'), base64.b64encode(ciphertext))
            src = src.replace('"', '').replace('\\', '').encode('utf-8')
            a, c = getUrlc(srcs[-1], header=header,
                           useCookies=True) if srcs else '', ''
            a, c = getUrlc(src, header=header, useCookies=True)
            # print a
            if src.startswith('http'):
                href = src + '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' % (
                    urllib.quote(action[0]), UA)
                #href =src+'|Referer=%s&User-Agent=%s'%(urllib.quote(action[0]),UA)
                #href = src
                print href
                return href, srcs[-1], header
            else:
                href = aes.decode_hls(src)
                if href:
                    href += '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' % (
                        urllib.quote(r[0]), UA)
                    return href, srcs[-1], header
    return ''
Example #3
0
def getChannelVideo(item):
    content = getUrl(item.get('url'),useCookies=True)
    links=re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)', re.IGNORECASE + re.DOTALL + re.MULTILINE + re.UNICODE).findall(content)
    link = [x for x in links if '&#' in x] 
    if link:
        link=re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0])
        header = {'User-Agent':UA,
                  'Referer':item.get('url')}
        data = getUrl(link,header=header,useCookies=True)
        f=re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data)
        d=re.compile('.*?name="d"\s*value=["\']([^"\']+)["\']').findall(data)
        r=re.compile('.*?name="r"\s*value=["\']([^"\']+)["\']').findall(data)
        action=re.compile('[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data)
        srcs=re.compile('src=[\'"](.*?)[\'"]').findall(data)
        if f and r and d and action:
            payload=urllib.urlencode({'d':d[0],'f':f[0],'r':r[0]})
            data2,c= getUrlc(action[0],payload,header=header,useCookies=True)
            link=re.compile('\([\'"][^"\']+[\'"], [\'"][^"\']+[\'"], [\'"]([^"\']+)[\'"], 1\)').findall(data2)
            enc_data=json.loads(base64.b64decode(link[0]))
            ciphertext = 'Salted__' + enc_data['s'].decode('hex') + base64.b64decode(enc_data['ct'])
            src=aes.decrypt(item.get('key'),base64.b64encode(ciphertext))
            src=src.replace('"','').replace('\\','').encode('utf-8')
            a,c=getUrlc(srcs[-1],header=header,useCookies=True) if srcs else '',''
            a,c=getUrlc(src,header=header,useCookies=True)
            # print a
            if src.startswith('http'):
                href =src+'|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209'%(urllib.quote(action[0]),UA)
                #href =src+'|Referer=%s&User-Agent=%s'%(urllib.quote(action[0]),UA)
                #href = src
                print href
                return href,srcs[-1],header
            else:
                href=aes.decode_hls(src)
                if href:
                    href +='|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209'%(urllib.quote(r[0]),UA)
                    return href,srcs[-1],header
    return ''
Example #4
0
def getChannelVideo(item):
    import xbmc
    #xbmc.log('@#@CHANNEL-VIDEO-ITEM: %s' % item, xbmc.LOGNOTICE)
    s = requests.Session()
    header = {'User-Agent': UA,
              'Referer': item['url']}
    content = s.get(item.get('url'), headers=header).content
    import uuid
    hash = uuid.uuid4().hex
    url = re.findall(r'location.replace\(\'([^\']+)', content)[0]
    uri = url + hash
    content = s.get(uri, headers=header).content
    links = re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)',
                       re.IGNORECASE + re.DOTALL + re.MULTILINE + re.UNICODE).findall(content)
    link = [x for x in links if '&#' in x]
    if link:
        link = re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0])
        data = s.get(link, headers=header).content
        # xbmc.log('@#@CHANNEL-VIDEO-DATA: %s' % data, xbmc.LOGNOTICE)
        f = re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data)
        d = re.compile('.*?name="d"\s*value=["\']([^"\']+)["\']').findall(data)
        r = re.compile('.*?name="r"\s*value=["\']([^"\']+)["\']').findall(data)
        b = re.compile('.*?name="b"\s*value=["\']([^"\']+)["\']').findall(data)
        action = re.compile('[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data)
        srcs = re.compile('src=[\'"](.*?)[\'"]').findall(data)
        if f and r and d and action:
            payload = urllib.urlencode({'b': b[0], 'd': d[0], 'f': f[0], 'r': r[0]})
            data2, c = getUrlc(action[0], payload, header=header, usecookies=True)

            #######ads banners#########
            bheaders = header
            bheaders['Referer'] = action[0]
            banner = re.findall(r'videojs.*?script\s+src="([^"]+)', data2)[0]
            bsrc = s.get(banner, headers=bheaders).content
            banner = re.findall(r"url:'([^']+)", bsrc)[0]
            bsrc = s.get(banner, headers=bheaders).content
            bheaders['Referer'] = banner
            banner = re.findall(r'window.location.replace\("([^"]+)"\);\s*}\)<\/script><div', bsrc)[0]
            bsrc = s.get(banner).status_code
            ###########################

            link = re.compile('\([\'"][^"\']+[\'"], [\'"][^"\']+[\'"], [\'"]([^"\']+)[\'"], 1\)').findall(data2)
            enc_data = json.loads(base64.b64decode(link[0]))
            ciphertext = 'Salted__' + enc_data['s'].decode('hex') + base64.b64decode(enc_data['ct'])
            src = aes.decrypt(item.get('key'),base64.b64encode(ciphertext))
            src = src.replace('"','').replace('\\','').encode('utf-8')
            a, c = getUrlc(srcs[-1], header=header, usecookies=True) if srcs else '', ''
            a, c = getUrlc(src, header=header, usecookies=True)
            # print a
            if src.startswith('http'):
                href = src + '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' %\
                       (urllib.quote(action[0]), UA)
                print href
                return href, srcs[-1], header
            else:
                href = aes.decode_hls(src)
                if href:
                    href += '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' %\
                            (urllib.quote(r[0]), UA)
                    return href, srcs[-1], header
    return ''