Example #1
0
def findvideos(item):
    logger.info("pelisalacarta.channels.oranline findvideos")
    itemlist = []

    data = scrapertools.cache_page(item.url)
    patron = '<p>.*?<span>.*?<img.*?src="(.*?)".*?></span>.*?<span>(.*?)</span>.*?href=.*?href="(.*?)".*?src="(.*?)"'
    matches2 = re.compile(patron, re.DOTALL).findall(data)
    scrapertools.printMatches(matches2)

    for img_idioma, calidad, scrapedurl, img_servidor in matches2:

        idioma = scrapertools.get_filename_from_url(img_idioma)

        if idioma in b_idioma.keys():
            idioma = b_idioma[idioma]

        servidor = scrapertools.get_filename_from_url(img_servidor)[:-4]

        title = "Mirror en "+servidor+" ("+idioma+") (Calidad "+calidad.strip()+")"
        url = urlparse.urljoin(item.url, scrapedurl)
        thumbnail = ""
        plot = ""
        if DEBUG:
            logger.info("title=[{0}], url=[{1}], thumbnail=[{2}]".format(title, url, thumbnail))
        itemlist.append(Item(channel=__channel__, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot,
                             folder=True))

    return itemlist
Example #2
0
def get_video_url( page_url, premium = False, user="", password="", video_password="" ):
    logger.info( "[rapidvideo.py] url=" + page_url )

    video_id = scrapertools.get_match( page_url, 'org/([A-Za-z0-9]+)' )
    url = 'http://www.rapidvideo.org/embed-%s-607x360.html' % video_id

    #data = scrapertools.cache_page( url ).replace( 'TMPL_VAR|', '' )
    data = scrapertools.cache_page( url )

    packed = scrapertools.get_match( data, "<script type='text/javascript'>eval.function.p,a,c,k,e,.*?</script>" )
    unpacked = packer.unpack( packed )
    media_url = scrapertools.get_match( unpacked, 'file:"([^"]+)"' )

    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url( media_url )[-4:] + " [fastvideo.me]", media_url ] )

    for video_url in video_urls:
        logger.info( "[fastvideo.py] %s - %s" % ( video_url[0], video_url[1] ) )

    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url( media_url )[-4:] + " [rapidvideo.org]", media_url ] )

    for video_url in video_urls:
        logger.info( "[rapidvideo.py] %s - %s" % ( video_url[0], video_url[1] ) )

    return video_urls
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("streamondemand.servers.sendvid get_video_url(page_url='%s')" % page_url)

    video_urls = []

    data = scrapertools.cache_page(page_url)
    #var video_source = "//cache-2.sendvid.com/1v0chsus.mp4";

    media_url = "http:"+scrapertools.find_single_match(data,'var\s+video_source\s+\=\s+"([^"]+)"')

    if "cache-1" in media_url:
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" (cache1) [sendvid]",media_url])
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" (cache2) [sendvid]",media_url.replace("cache-1","cache-2")])
    
    elif "cache-2" in media_url:
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" (cache1) [sendvid]",media_url.replace("cache-2","cache-1")])
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" (cache2) [sendvid]",media_url])

    else:
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [sendvid]",media_url])

    for video_url in video_urls:
        logger.info("streamondemand.servers.sendvid %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #4
0
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("pelisalacarta.servers.streaminto url=" + page_url)

    data = re.sub(r'\n|\t|\s+', '', scrapertools.cache_page(page_url))

    video_urls = []
    try:
        media_url = scrapertools.get_match(data, """.setup\({file:"([^"]+)",image""")
    except:
        js_data = scrapertools.find_single_match(data, "(eval.function.p,a,c,k,e.*?)</script>")
        js_data = unPack(js_data)
        media_url = scrapertools.get_match(js_data, """.setup\({file:"([^"]+)",image""")

    if media_url.endswith("v.mp4"):
        media_url_mp42flv = re.sub(r'/v.mp4$','/v.flv',media_url)
        video_urls.append([scrapertools.get_filename_from_url(media_url_mp42flv)[-4:] + " [streaminto]", media_url_mp42flv])
    if media_url.endswith("v.flv"):
        media_url_flv2mp4 = re.sub(r'/v.flv$','/v.mp4',media_url)
        video_urls.append([scrapertools.get_filename_from_url(media_url_flv2mp4)[-4:] + " [streaminto]", media_url_flv2mp4])        
    video_urls.append([scrapertools.get_filename_from_url(media_url)[-4:] + " [streaminto]", media_url])

    for video_url in video_urls:
        logger.info("pelisalacarta.servers.streaminto %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #5
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("pelisalacarta.servers.vidtome url="+page_url)

    # Lo pide una vez
    headers = [['User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14']]
    data = scrapertools.cache_page( page_url , headers=headers )
    #logger.info("data="+data)
    
    logger.info("pelisalacarta.servers.vidtome opcion 2")
    op = scrapertools.get_match(data,'<input type="hidden" name="op" value="([^"]+)"')
    logger.info("pelisalacarta.servers.vidtome op="+op)
    usr_login = ""
    id = scrapertools.get_match(data,'<input type="hidden" name="id" value="([^"]+)"')
    logger.info("pelisalacarta.servers.vidtome id="+id)
    fname = scrapertools.get_match(data,'<input type="hidden" name="fname" value="([^"]+)"')
    logger.info("pelisalacarta.servers.vidtome fname="+fname)
    referer = scrapertools.get_match(data,'<input type="hidden" name="referer" value="([^"]*)"')
    logger.info("pelisalacarta.servers.vidtome referer="+referer)
    hashstring = scrapertools.get_match(data,'<input type="hidden" name="hash" value="([^"]*)"')
    logger.info("pelisalacarta.servers.vidtome hashstring="+hashstring)
    imhuman = scrapertools.get_match(data,'<input type="submit".*?name="imhuman" value="([^"]+)"').replace(" ","+")
    logger.info("pelisalacarta.servers.vidtome imhuman="+imhuman)
        
    import time
    time.sleep(10)

    # Lo pide una segunda vez, como si hubieras hecho click en el banner
    #op=download1&usr_login=&id=z3nnqbspjyne&fname=Coriolanus_DVDrip_Castellano_by_ARKONADA.avi&referer=&hash=nmnt74bh4dihf4zzkxfmw3ztykyfxb24&imhuman=Continue+to+Video
    #op=download1&usr_login=&id=h6gjvhiuqfsq&fname=GENES1S.avi&referer=&hash=taee4nbdgbuwuxfguju3t6nq2gkdzs6k&imhuman=Proceed+to+video
    post = "op="+op+"&usr_login="******"&id="+id+"&fname="+fname+"&referer="+referer+"&hash="+hashstring+"&imhuman="+imhuman
    headers.append(["Referer",page_url])
    body = scrapertools.cache_page( page_url , post=post, headers=headers )
    logger.info("body="+body)

    data = scrapertools.find_single_match(body,"<script type='text/javascript'>(eval\(function\(p,a,c,k,e,d.*?)</script>")
    logger.info("data="+data)
    data = packer.unpack(data)
    logger.info("data="+data)

    # Extrae la URL
    #{label:"240p",file:"http://188.240.220.186/drjhpzy4lqqwws4phv3twywfxej5nwmi4nhxlriivuopt2pul3o4bkge5hxa/video.mp4"}
    video_urls = []
    media_urls = re.findall(r'\{label:"([^"]+)",file:"([^"]+)"\}', data)
    video_urls = []
    for label,media_url in media_urls:
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" ("+label+") [vidto.me]",media_url])

    #<a id="lnk_download" href="http://188.240.220.186/drjhpzy4lqqwws4phv3twywfxej5nwmi4nhxlriivuopt2pul3oyvkoe5hxa/INT3NS4HDTS-L4T.mkv">
    media_url = scrapertools.find_single_match(body,'<a id="lnk_download" href="([^"]+)"')
    if media_url!="":
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" (ORIGINAL) [vidto.me]",media_url])

    for video_url in video_urls:
        logger.info("pelisalacarta.servers.vidtome %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #6
0
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("url=" + page_url)

    data = httptools.downloadpage(page_url).data

    video_urls = []
    media_urls = scrapertools.find_multiple_matches(data, '<source src="([^"]+)"')

    for media_url in media_urls:
        extension = scrapertools.get_filename_from_url(media_url)[-3:]
        if extension != "png" and extension != "php":
            video_urls.append([scrapertools.get_filename_from_url(media_url)[-4:] + " [spruto]", media_url])

    return video_urls
Example #7
0
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("pelisalacarta.servers.spruto url=" + page_url)

    data = scrapertools.cache_page(page_url)

    video_urls = []
    media_urls = scrapertools.find_multiple_matches(data, 'file":\s*"([^"]+)"')

    for media_url in media_urls:
        extension = scrapertools.get_filename_from_url(media_url)[-3:]
        if extension != "png" and extension != "php":
            video_urls.append([scrapertools.get_filename_from_url(media_url)[-4:] + " [spruto]", media_url])

    return video_urls
Example #8
0
def findvideos(item):
    logger.info("pelisalacarta.channels.oranline findvideos")
    itemlist = []

    data = scrapertools.cache_page(item.url)
    '''
    <p>
    <span><img width="29" src="http://www.oranline.com/wp-content/themes/reviewit/images/1.png"></span>      
    <span>HD-Rip </span>
    <span><img src="http://www.oranline.com/wp-content/themes/reviewit/images/calidad4.png"></span>
    <span>ashley</span>
    <span><a href="#" title="HDRip - 1,63 Gb - CASTELLANO" class="tooltip"><img src="http://www.oranline.com/wp-content/themes/reviewit/images/informacion.png" width="20"></img></a> <a onclick='reportar("reportarpelicula","375879")'><img  src='http://www.oranline.com/wp-content/themes/reviewit/images/tool.png' title="reportar enlace"></img></a></span>
    <span>
    <a href="/wp-content/themes/reviewit/enlace.php?id=375879" rel="get:id=10" rev="abcwin[700,580]"><img style="width:103px" src="http://www.oranline.com/wp-content/themes/reviewit/servidores/uploaded.jpg"></img></a></span></p>
    '''
    '''
    <p>
    <span><img src="http://www.oranline.com/wp-content/themes/reviewit/images/1.png" width="25"></span>      
    <span>HD-1080 </span>
    <span><img src="http://www.oranline.com/wp-content/themes/reviewit/images/calidad5.png"></span>
    <span>Anonymous_xxx</span> 
    <span><a onclick='reportar("reportarpelicula","505001")'><img  src='http://www.oranline.com/wp-content/themes/reviewit/images/tool.png' title="reportar enlace"></img></a></span>
    <span>
    <a href="/wp-content/themes/reviewit/enlace.php?id=505001" rel="get:id=10" rev="abcwin[700,580]"><img style="width:103px" src="http://www.oranline.com/wp-content/themes/reviewit/servidores/powvideo.jpg"></img></a></span></p>
    '''
    patron  = '<p[^<]+'
    patron += '<span[^<]+<img.*?src="([^"]+)[^<]+</span[^<]+'
    patron += '<span>([^<]+)</span.*?'
    patron += 'href="([^"]+)"[^<]+<img style="[^"]+" src="([^"]+)"'
    matches2 = re.compile(patron, re.DOTALL).findall(data)
    scrapertools.printMatches(matches2)

    for img_idioma, calidad, scrapedurl, img_servidor in matches2:

        idioma = scrapertools.get_filename_from_url(img_idioma)

        if idioma in b_idioma.keys():
            idioma = b_idioma[idioma]

        servidor = scrapertools.get_filename_from_url(img_servidor)[:-4]

        title = "Mirror en "+servidor+" ("+idioma+") (Calidad "+calidad.strip()+")"
        url = urlparse.urljoin(item.url, scrapedurl)
        thumbnail = ""
        plot = ""
        if DEBUG: logger.info("title=[{0}], url=[{1}], thumbnail=[{2}]".format(title, url, thumbnail))
        itemlist.append(Item(channel=__channel__, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot, folder=True))

    return itemlist
Example #9
0
def get_video_url( page_url , premium = False , user="" , password="" , video_password="" ):
    logger.info("tvalacarta.servers.cntv get_video_url(page_url='%s')" % page_url)

    data = scrapertools.cache_page(page_url)
    video_id = scrapertools.find_single_match(data,'"videoCenterId","([a-z0-9]+)"')
    logger.info("tvalacarta.servers.cntv video_id="+video_id)

    # Formato noticias
    if video_id!="":
        metadata_url = "http://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid="+video_id+"&tz=-1&from=000spanish&url="+page_url+"&idl=32&idlr=32&modifyed=false"
        data = scrapertools.cache_page(metadata_url)
        logger.info(data)
    
        video_url = scrapertools.find_single_match(data,'"hls_url"\:"([^"]+)"')
        logger.info("video_url="+video_url)
    
    # Formato programas
    else:
        video_id = scrapertools.find_single_match(data,'"videoCenterId","(.*?)"')
        video_url = "http://asp.v.cntv.cn/hls/"+matches[0]+"/main.m3u8"

    video_urls = []
    if video_url.endswith(".m3u8"):
        '''
        #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=204800, RESOLUTION=240x180
        /asp/hls/200/0303000a/3/default/269599f209024eb482ac0b12b1861d31/200.m3u8
        '''
        data_calidades = scrapertools.cache_page(video_url)
        patron_calidades = "BANDWIDTH=(\d+), RESOLUTION=([a-z0-9]+)\s*(.*?.m3u8)"
        matches = re.compile(patron_calidades,re.DOTALL).findall(data_calidades)

        if len(matches)>0:
            for bitrate,resolucion,calidad_url in matches:
                esta_url = urlparse.urljoin(video_url,calidad_url)
                try:
                    kb = " "+str(int(bitrate)/1024)+"Kbps "
                except:
                    kb = ""
                video_urls.append([ resolucion + kb + '('+scrapertools.get_filename_from_url(esta_url)[-4:] + ') [cntv]' , esta_url])
        else:
            video_urls.append([ '('+scrapertools.get_filename_from_url(video_url)[-4:] + ') [cntv]' , video_url])

    else:
        video_urls.append([ '('+scrapertools.get_filename_from_url(video_url)[-4:] + ') [cntv]' , video_url])

    for video_url in video_urls:
        logger.info("tvalacarta.servers.cntv %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #10
0
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("(page_url='%s')" % page_url)

    data = scrapertools.cache_page(page_url)

    # Submit
    post = {}
    r = re.findall(r'type="hidden" name="(.+?)"\s* value="?(.+?)">', data)
    for name, value in r:
        post[name] = value
        post.update({'method_free': 'Free Download'})
    data = scrapertools.cache_page(page_url, post=urllib.urlencode(post))

    # Get link
    sPattern = '''<div id="player_code">.*?<script type='text/javascript'>(eval.+?)</script>'''
    r = re.findall(sPattern, data, re.DOTALL | re.I)
    mediaurl = ""
    if r:
        sUnpacked = jsunpack.unpack(r[0])
        sUnpacked = sUnpacked.replace("\\'", "")
        r = re.findall('file,(.+?)\)\;s1', sUnpacked)
        if not r:
            r = re.findall('"src"value="(.+?)"/><embed', sUnpacked)

        mediaurl = r[0]

    video_urls = []
    video_urls.append([scrapertools.get_filename_from_url(mediaurl)[-4:] + " [hugefiles]", mediaurl])

    for video_url in video_urls:
        logger.info("%s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #11
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[mailru.py] get_video_url(page_url='%s')" % (page_url))

    video_urls = []

    ## Carga la página

    data = scrapertools.cache_page(page_url)

    ## Nueva url al final de los datos
    url = page_url.replace("embed/","").replace(".html",".json")
    ## Carga los datos y los headers
    data, headers = scrapertools.read_body_and_headers(url)
    data = jsontools.load_json(data)

    ## La cookie video_key necesaria para poder visonar el video
    for cookie in headers:
        if 'set-cookie' in cookie: break
    cookie_video_key = scrapertools.get_match(cookie[1], '(video_key=[a-f0-9]+)')

    ## Formar url del video + cookie video_key
    for videos in data['videos']:
        media_url = videos['url'] + "|Cookie=" + cookie_video_key
        quality = " "+videos['key']
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:] + quality +" [mail.ru]", media_url ] )

    for video_url in video_urls:
        logger.info("[mail.ru] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #12
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("pelisalacarta.servers.clicknupload url="+page_url)
    
    data = scrapertools.cache_page( page_url )
    data = data.replace("\n","").replace("\t","")
    post = ""
    block = scrapertools.find_single_match(data, '<Form method="POST"(.*?)</Form>')
    matches = scrapertools.find_multiple_matches(block, 'input.*?name="([^"]+)".*?value="([^"]*)"')
    for inputname, inputvalue in matches:
        post += inputname + "=" + inputvalue + "&"
    #Primera solicitud post
    data = scrapertools.cache_page( page_url , post=post)
    data = data.replace("\n","").replace("\t","")
    import time
    time.sleep(5)
    post = ""
    block = scrapertools.find_single_match(data, '<Form name="F1" method="POST"(.*?)</Form>')
    matches = scrapertools.find_multiple_matches(block, '<input.*?name="([^"]+)".*?value="([^"]*)">')
    for inputname, inputvalue in matches:
        post += inputname + "=" + inputvalue + "&"
    #Segunda solicitud post tras 5 segundos de espera
    data = scrapertools.cache_page( page_url , post=post)

    video_urls = []
    media = scrapertools.find_single_match(data,"onClick=\"window.open\('([^']+)'")
    #Solo es necesario codificar la ultima parte de la url
    url_strip = urllib.quote(media.rsplit('/', 1)[1])
    media_url = media.rsplit('/', 1)[0] +"/"+url_strip
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [clicknupload]",media_url])
    for video_url in video_urls:
        logger.info("pelisalacarta.servers.clicknupload %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #13
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[movreel.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []

    data = scrapertools.cache_page(page_url)

    op = scrapertools.get_match(data,'<input type="hidden" name="op" value="([^"]+)">')
    file_code = scrapertools.get_match(data,'<input type="hidden" name="file_code" value="([^"]+)">')
    w = scrapertools.get_match(data,'<input type="hidden" name="w" value="([^"]+)">')
    h = scrapertools.get_match(data,'<input type="hidden" name="h" value="([^"]+)">')
    method_free = scrapertools.get_match(data,'<input type="submit" name="method_free" value="([^"]+)">')

    #op=video_embed&file_code=yrwo5dotp1xy&w=600&h=400&method_free=Close+Ad+and+Watch+as+Free+User
    post = urllib.urlencode( {"op":op,"file_code":file_code,"w":w,"h":h,"method_free":method_free} )

    data = scrapertools.cache_page(page_url,post=post)
    data = jsunpack.unpack(data)
    logger.info("data="+data)

    media_url = scrapertools.get_match(data,'file\:"([^"]+)"')
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [movreel]",media_url])

    for video_url in video_urls:
        logger.info("[movreel.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("streamondemand.servers.vidgg get_video_url(page_url='%s')" % page_url)

    video_urls = []
    data = scrapertools.cache_page(page_url)

    mediaurls = scrapertools.find_multiple_matches(data, '<source src="([^"]+)"')
    if not mediaurls:
        id_file = page_url.rsplit("/",1)[1]
        key = scrapertools.find_single_match(data, 'flashvars\.filekey\s*=\s*"([^"]+)"')
        if not key:
            varkey = scrapertools.find_single_match(data, 'flashvars\.filekey\s*=\s*([^;]+);')
            key = scrapertools.find_single_match(data, varkey+'\s*=\s*"([^"]+)"')

        # Primera url, se extrae una url erronea necesaria para sacar el enlace
        url = "http://www.vidgg.to//api/player.api.php?cid2=undefined&cid=undefined&numOfErrors=0&user=undefined&cid3=undefined&key=%s&file=%s&pass=undefined" % (key, id_file)
        data = scrapertools.cache_page(url)
        
        url_error = scrapertools.find_single_match(data, 'url=([^&]+)&')
        url = "http://www.vidgg.to//api/player.api.php?cid2=undefined&cid=undefined&numOfErrors=1&errorUrl=%s&errorCode=404&user=undefined&cid3=undefined&key=%s&file=%s&pass=undefined" % (url_error, key, id_file)
        data = scrapertools.cache_page(url)
        mediaurls = scrapertools.find_multiple_matches(data, 'url=([^&]+)&')

    for i, mediaurl in enumerate(mediaurls):
        title = scrapertools.get_filename_from_url(mediaurl)[-4:]+" Mirror %s [vidgg]" % str(i+1)
        video_urls.append( [title, mediaurl])

    for video_url in video_urls:
        logger.info("[vidgg.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #15
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("pelisalacarta.servers.gamovideo get_video_url(page_url='%s')" % page_url)

    data = scrapertools.cache_page(page_url)
    packer = scrapertools.find_single_match(data,"<script type='text/javascript'>(eval.function.p,a,c,k,e,d..*?)</script>")
    unpacker = jsunpack.unpack(data) if packer != "" else ""
    if unpacker != "": data = unpacker

    data = re.sub(r'\n|\t|\s+', '', data)

    host = scrapertools.get_match(data, '\[\{image:"(http://[^/]+/)')
    mediaurl = scrapertools.get_match(data, ',\{file:"([^"]+)"')
    if not mediaurl.startswith(host):
        mediaurl = host + mediaurl
   
    rtmp_url = scrapertools.get_match(data, 'file:"(rtmp[^"]+)"')
    playpath = scrapertools.get_match(rtmp_url, 'vod\?h=[\w]+/(.*$)')
    rtmp_url = rtmp_url.split(playpath)[0]+" playpath="+playpath+" swfUrl=http://gamovideo.com/player61/jwplayer.flash.swf"

    video_urls = []
    video_urls.append([scrapertools.get_filename_from_url(mediaurl)[-4:]+" [gamovideo]",mediaurl])
    video_urls.append(["RTMP [gamovideo]",rtmp_url])     

    for video_url in video_urls:
        logger.info("pelisalacarta.servers.gamovideo %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("url="+page_url)

    # Lo pide una vez
    headers = [['User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14']]
    data = scrapertools.cache_page( page_url , headers=headers )
    
    try:
        media_url = scrapertools.get_match( data , 'file\: "([^"]+)"' )
    except:
        post = ""
        matches = scrapertools.find_multiple_matches(data, '<input.*?name="([^"]+)".*?value="([^"]*)">')
        for inputname, inputvalue in matches:
            post += inputname + "=" + inputvalue + "&"
        post = post.replace("op=download1","op=download2")
        data = scrapertools.cache_page( page_url , post=post)

        if 'id="justanotice"' in data:
            logger.info("data="+data)
            logger.info("Ha saltado el detector de adblock")
            return []

        # Extrae la URL
        media_url = scrapertools.get_match( data , 'file\: "([^"]+)"' )
        
    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [streamcloud]",media_url])

    for video_url in video_urls:
        logger.info("%s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #17
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("pelisalacarta.videomega get_video_url(page_url='%s')" % page_url)

    data = scrapertools.cache_page(page_url)

    video_urls = []
    # Descarga la página
    headers = [ ['User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'] ]
    data = scrapertools.cache_page(page_url , headers = headers)

    #document.write(unescape("%3c%73%63%72%69%70%74%20%74e"));
    location = scrapertools.get_match(data,'document.write\(unescape\("([^"]+)"\)\)')
    logger.info("pelisalacarta.videomega location="+location)
    location = urllib.unquote(location)
    logger.info("pelisalacarta.videomega location="+location)
    location = scrapertools.get_match(location,'file\: "([^"]+)"')
    logger.info("pelisalacarta.videomega location="+location)
    location = location+"&start=0"
    logger.info("pelisalacarta.videomega location="+location)

    #http://st100.u1.videomega.tv/v/bf38b3577874d7ce424c1c87d6d1b8d9.mp4?st=kuiAz1XJ7XFzOCnaleGVxA&start=0
    #http://st100.u1.videomega.tv/v/bf38b3577874d7ce424c1c87d6d1b8d9.mp4?st=kuiAz1XJ7XFzOCnaleGVxA
    video_urls.append( [ scrapertools.get_filename_from_url(location)[-4:]+" [videomega]" , location ] )

    for video_url in video_urls:
        logger.info("pelisalacarta.videomega %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("ay8ou8ohth get_video_url(page_url='%s')" % page_url)

    data = ''
    patron_new_url = '<iframe\s+src\s*=\s*"([^"]+)'

    while page_url != "":
        headers = [
            ['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0'],
            ['Accept-Encoding', 'gzip, deflate'],
            ['Referer', page_url]
        ]
        data = scrapertools.cache_page(page_url, headers=headers)
        page_url = scrapertools.find_single_match(data, patron_new_url)
        page_url = re.sub("\n|\r|\t", "", page_url)

    media_url = scrapertools.find_single_match(data, 'file\s*:\s*"([^"]+)')
    if media_url == '':
        data = scrapertools.find_single_match(data, '(eval\(function.*?)</script>')
        data = jsunpack.unpack(data)
        media_url = scrapertools.find_single_match(data, 'file\s*:\s*"([^"]+)')
    video_urls = [[scrapertools.get_filename_from_url(media_url)[-4:] + " [ay8ou8ohth]", media_url + '|' + urllib.urlencode(dict(headers))]]

    for video_url in video_urls:
        logger.info("[ay8ou8ohth.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("streamondemand.servers.vimpleru page_url="+page_url)
	
    mobj = re.match(_VALID_URL, page_url)
    video_id = mobj.group('id')
    logger.info("streamondemand.servers.vimpleru video_id="+video_id)

    data = scrapertools.cache_page( page_url )
    logger.info("streamondemand.servers.vimpleru data="+data)

    cookie_data = config.get_cookie_data()
    #logger.info("streamondemand.servers.vimpleru cookie_data="+cookie_data)

    universalid = scrapertools.get_match(cookie_data,'UniversalUserID\s*([a-f0-9]+)')
    logger.info("universalid="+universalid)

    player_url = scrapertools.find_single_match(data,'"swfplayer"\:"([^"]+)"')
    player_url = player_url.replace("\\","")
    logger.info("streamondemand.servers.vimpleru player_url="+player_url)

    player = scrapertools.cache_page( player_url)
    #logger.info("streamondemand.servers.vimpleru player="+repr(player))

    player = zlib.decompress(player[8:])
    #logger.info("streamondemand.servers.vimpleru player="+repr(player))

    xml_pieces = re.findall(b'([a-zA-Z0-9 =+/]{500})', player)
    logger.info("streamondemand.servers.vimpleru xml_pieces="+repr(xml_pieces))
    xml_pieces = [piece[1:-1] for piece in xml_pieces]
    logger.info("streamondemand.servers.vimpleru xml_pieces="+repr(xml_pieces))

    xml_data = b''.join(xml_pieces)
    logger.info("streamondemand.servers.vimpleru xml_data="+repr(xml_data))
    xml_data = base64.b64decode(xml_data)
    logger.info("streamondemand.servers.vimpleru xml_data="+repr(xml_data))

    xml_data = xml.etree.ElementTree.fromstring(xml_data)
	
    video = xml_data.find('Video')
    quality = video.get('quality')
    q_tag = video.find(quality.capitalize())
    '''
    logger.info("streamondemand.servers.vimpleru url: " + q_tag.get('url'))
    logger.info("streamondemand.servers.vimpleru tbr: " +  q_tag.get('bitrate'))
    logger.info("streamondemand.servers.vimpleru filesize: " +  q_tag.get('filesize'))
    logger.info("streamondemand.servers.vimpleru format_id: " +  quality)
    logger.info("streamondemand.servers.vimpleru id: " +  video_id)
    logger.info("streamondemand.servers.vimpleru title: " +  video.find('Title').text)
    logger.info("streamondemand.servers.vimpleru thumbnail: " +  video.find('Poster').get('url'))
    logger.info("streamondemand.servers.vimpleru duration: " +  video.get('duration'))
    logger.info("streamondemand.servers.vimpleru webpage_url: " +  video.find('Share').get('videoPageUrl'))
    '''	
    media_url = q_tag.get('url')+"|Cookie=UniversalUserID="+universalid
    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [vimple.ru]",media_url])

    for video_url in video_urls:
        logger.info("streamondemand.servers.vimpleru %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[filebox.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []
    '''
    <input type="hidden" name="op" value="download2">
    <input type="hidden" name="id" value="235812b1j9w1">
    <input type="hidden" name="rand" value="na73zeeooqyfkndsv4uxzzpbajwi6mhbmixtogi">
    <input type="hidden" name="referer" value="http://www.seriesyonkis.com/s/ngo/2/5/1/8/773">
    '''
    logger.info("[filebox.py] URL ")
    data = scrapertools.cache_page(page_url)
    import time
    time.sleep(5)

    codigo = scrapertools.get_match(data,'<input type="hidden" name="id" value="([^"]+)">[^<]+')
    rand = scrapertools.get_match(data,'<input type="hidden" name="rand" value="([^"]+)">')

    #op=download2&id=xuquejiv6xdf&rand=r6dq7hn7so2ygpnxv2zg2i3cu3sbdsunf57gtni&referer=&method_free=&method_premium=&down_direct=1
    post = "op=download2&id="+codigo+"&rand="+rand+"&referer=&method_free=&method_premium=&down_direct=1"

    data = scrapertools.cache_page( page_url , post=post, headers=[['User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'],['Referer',page_url]] )
    logger.info("data="+data)
    media_url = scrapertools.get_match(data,"this.play\('([^']+)'")
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [filebox]",media_url])

    for video_url in video_urls:
        logger.info("[filebox.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def novedades(item):
    logger.info("[filmsenzalimiti.py] novedades")
    itemlist = []

    # Descarga la página
    data = scrapertools.cachePage(item.url)
    '''
    <div class="post-item-side">
    <a href="http://www.filmsenzalimiti.net/lost-in-mancha.html"> <img src="http://www.filmsenzalimiti.net/wp-content/uploads/2013/08/Lost-in-Mancha.jpg" width="103px" height="160px" alt="img" title="Lost in Mancha" class="post-side-img"/></a>
    <h3><a href="http://www.filmsenzalimiti.net/video.html" rel="nofollow" target="_blank"><img class="playbtn" src="http://www.filmsenzalimiti.net/wp-content/themes/FilmSenzaLimiti/images/playbtn.png" border="0"/></a></h3>
    </div>
    '''
    patronvideos  = '<div class="post-item-side"[^<]+'
    patronvideos += '<a href="([^"]+)"[^<]+<img.*?src="([^"]+)"'
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    if DEBUG: scrapertools.printMatches(matches)

    for scrapedurl,scrapedthumbnail in matches:
        scrapedplot = ""
        scrapedtitle = scrapertools.get_filename_from_url(scrapedurl).replace("-"," ").replace("/","").replace(".html","").capitalize().strip()
        if (DEBUG): logger.info("title=["+scrapedtitle+"], url=["+scrapedurl+"], thumbnail=["+scrapedthumbnail+"]")
        itemlist.append( Item(channel=__channel__, action="findvideos", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) )

    # Siguiente
    try:
        pagina_siguiente = scrapertools.get_match(data,'class="nextpostslink" rel="next" href="([^"]+)"')
        itemlist.append( Item(channel=__channel__, action="novedades", title=">> Avanti" , url=pagina_siguiente , folder=True) )
    except:
        pass

    return itemlist
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    
    logger.info("fusionse.servers.clouddy get_video_url(page_url='%s')" % page_url)
    
    video_urls = []
    
    request_headers = []
    request_headers.append(["User-Agent","Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; es-ES; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12"])
    body,response_headers = scrapertools.read_body_and_headers(page_url,headers=request_headers)
    
    patron = 'key: "([^"]+).*?file:"([^"]+)"'
    param = re.compile(patron,re.DOTALL).findall(body)
    url_get_video ='https://www.cloudy.ec/api/player.api.php?user=&cid2=&pass=&numOfErrors=0&key=<clave>&file=<fichero>&cid3='
    url_get_video = url_get_video.replace("<clave>", param[0][0])
    url_get_video = url_get_video.replace("<fichero>", param[0][1])
    
    request_headers.append(["referer",page_url])
    request_headers.append(["accept-encoding", "gzip, deflate, sdch"])
    request_headers.append(["x-requested-with","ShockwaveFlash/20.0.0.286"])
    request_headers.append(["accept-language", "es-ES,es;q=0.8"])
        
    body,request_headers = scrapertools.read_body_and_headers(url_get_video,headers=request_headers)
    
    body = urllib.unquote(body)
     
    video = re.findall("url=(.*?)&title", body, re.DOTALL)
    
    video_urls.append([scrapertools.get_filename_from_url(video[0])[-4:],video[0] ]) 
    
    return video_urls
Example #23
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("pelisalacarta.servers.powvideo get_video_url(page_url='%s')" % page_url)

    url = page_url.replace("http://powvideo.net/","http://powvideo.net/iframe-") + "-640x360.html"     
    headers.append(['Referer',url.replace("iframe","embed")])
    
    data = scrapertools.cache_page(url, headers=headers)

    # Extrae la URL
    data = scrapertools.find_single_match(data,"<script type='text/javascript'>(.*?)</script>")
    data = jsunpack.unpack(data).replace("\\","")

    data = scrapertools.find_single_match(data,"sources\=\[([^\]]+)\]")
    logger.info("data="+data)

    matches = scrapertools.find_multiple_matches(data, "src:'([^']+)'")
    video_urls = []
    for video_url in matches:
        filename = scrapertools.get_filename_from_url(video_url)[-4:]
        if video_url.startswith("rtmp"):
            rtmp, playpath = video_url.split("vod/",1)
            video_url = "%s playpath=%s swfUrl=http://powvideo.net/player6/jwplayer.flash.swf pageUrl=%s" % (rtmp+"vod/", playpath, page_url)
            filename = "RTMP"
        elif "m3u8" in video_url:
            video_url += "|User-Agent="+headers[0][1]

        video_urls.append( [ filename + " [powvideo]", video_url])

    for video_url in video_urls:
        logger.info("pelisalacarta.servers.powvideo %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[vimple.ru] get_video_url(page_url=%s)" % page_url)

    media_url = scrapertools.get_match(
        re.sub(
            r'\t|\n|\r|\s',
            '',
            scrapertools.cache_page(page_url)
        ),
        '"video"[^,]+,"url":"([^"]+)"'
    ).replace('\\','')

    media_url+= "|Cookie=" + \
        scrapertools.get_match(
            config.get_cookie_data(),
            '.vimple.ru.*?(UniversalUserID\t[a-f0-9]+)'
        ).replace('\t', '=')

    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [vimple.ru]",media_url])

    for video_url in video_urls:
        logger.info("streamondemand.servers.vimpleru %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #25
0
def get_video_url( page_url , premium = False , user="" , password="" , video_password="" ):
    logger.info("[movshare.py] get_video_url(page_url='%s')" % page_url)

    videoid = scrapertools.get_match(page_url,"http://www.movshare.net/video/([a-z0-9]+)")
    video_urls = []

    # Descarga la página
    headers = []
    headers.append( ['User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'] )
    html = scrapertools.cache_page(page_url , headers = headers)
    
    # La vuelve a descargar, como si hubieras hecho click en el botón
    #html = scrapertools.cache_page(page_url , headers = headers)
    filekey = scrapertools.find_single_match(html,'flashvars.filekey="([^"]+)"')
        
    #get stream url from api
    api = 'http://www.movshare.net/api/player.api.php?key=%s&file=%s' % (filekey, videoid)
    headers.append( ['Referer',page_url] )

    html = scrapertools.cache_page(api,headers=headers)
    logger.info("html="+html)
    stream_url = scrapertools.find_single_match(html,'url=(.+?)&title')

    if stream_url!="":
        video_urls.append( [ scrapertools.get_filename_from_url(stream_url)[-4:]+" [movshare]" , stream_url ] )

    for video_url in video_urls:
        logger.info("[movshare.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("[putstream.py] url=" + page_url)
    video_urls = []

    data = scrapertools.cache_page(page_url, headers=headers)

    time.sleep(5)

    post_url = re.findall('Form method="POST" action=\'(.*)\'', data)[0]
    post_selected = re.findall('Form method="POST" action=(.*)</Form>', data, re.DOTALL)[0]

    post_data = 'op=%s&usr_login=%s&id=%s&fname=%s&referer=%s&hash=%s&imhuman=Proceed+to+video' % (
        re.findall('input type="hidden" name="op" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="usr_login" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="id" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="fname" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="referer" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="hash" value="(.*)"', post_selected)[0])

    headers.append(['Referer', page_url])
    data = scrapertools.cache_page(post_url, post=post_data, headers=headers)

    # Extrae la URL
    media_url = scrapertools.get_match( data , 'file:"([^"]+)"' )

    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [putstream]",media_url])

    for video_url in video_urls:
        logger.info("[putstream] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("[abysstream.py] url=" + page_url)
    video_urls = []

    data = scrapertools.cache_page(page_url, headers=headers)

    stream_link = scrapertools.find_single_match(data, '<input type="hidden" name="streamLink" value="([^"]+)">')
    temp_link = scrapertools.find_single_match(data, '<input type="hidden" name="templink" value="([^"]+)">')

    headers.append(['Referer', page_url])
    post_data = 'streamLink=%s&templink=%s' % (stream_link, temp_link)
    data = scrapertools.cache_page('http://abysstream.com/viewvideo.php', post=post_data, headers=headers)

    # URL
    media_url = scrapertools.find_single_match(data, '<source src="([^"]+)" type="video/mp4"')
    _headers = urllib.urlencode(dict(headers))

    # URL del vídeo
    video_urls.append(
            [scrapertools.get_filename_from_url(media_url)[-4:] + " [Abysstream]", media_url + '|' + _headers])

    for video_url in video_urls:
        logger.info("[abysstream.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #28
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[netutv.py] url="+page_url)

    # Lo pide una vez
    headers = [['User-Agent','Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10']]
    data = scrapertools.cache_page( page_url , headers=headers )
    logger.info("data="+data)
    
    '''
    http://netu.tv/watch_video.php?v=96WDAA71A8K
    http://s1.netu.tv/flv/api/files/thumbs/2013/09/17/1373323542a37c1-640x480-1.jpg
    http://s1.netu.tv/hls-vod/flv/api/files/videos/2013/09/17/1373323542a37c1.mp4.m3u8
    '''

    # Extrae la URL
    image_url = scrapertools.get_match( data , '<meta property="og:image" content="([^"]+)"' )
    media_url = image_url.replace("flv/api/files/thumbs","hls-vod/flv/api/files/videos")
    media_url = media_url.replace("-640x480-1.jpg",".mp4.m3u8")

    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [netu.tv]",media_url])

    for video_url in video_urls:
        logger.info("[netutv.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
    logger.info("[speedvid.py] url=" + page_url)
    video_urls = []

    data = scrapertools.cache_page(page_url, headers=headers)

    time.sleep(5)

    post_url = re.findall('Form method="POST" action=\'(.*)\'', data)[0]
    post_selected = re.findall('Form method="POST" action=(.*)</Form>', data, re.DOTALL)[0]

    post_data = 'op=%s&usr_login=%s&id=%s&fname=%s&referer=%s&hash=%s&imhuman=Proceed+to+video' % (
        re.findall('input type="hidden" name="op" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="usr_login" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="id" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="fname" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="referer" value="(.*)"', post_selected)[0],
        re.findall('input type="hidden" name="hash" value="(.*)"', post_selected)[0])

    headers.append(['Referer', page_url])
    data = scrapertools.cache_page(post_url, post=post_data, headers=headers)

    data = scrapertools.find_single_match(data, "(eval.function.p,a,c,k,e,.*?)\s*</script>")

    if data != "":
        from core import jsunpack
        data = jsunpack.unpack(data)

        # URL del vídeo
        url = re.findall('file:\s*"([^"]+)"', data)[0]

        video_urls.append([scrapertools.get_filename_from_url(url)[-4:] + " [speedvid]", url])

    return video_urls
Example #30
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("pelisalacarta.servers.playwire url="+page_url)
    
    data = scrapertools.cachePage(page_url)
    data = jsontools.load_json(data)
    f4m = data['content']['media']['f4m']

    video_urls = []
    data = scrapertools.downloadpageGzip(f4m)

    xml = ET.fromstring(data)
    base_url = xml.find('{http://ns.adobe.com/f4m/1.0}baseURL').text
    for media in xml.findall('{http://ns.adobe.com/f4m/1.0}media'):
        if ".m3u8" in media.get('url'): continue
        media_url = base_url + "/" + media.get('url')
        try:
            height = media.get('height')
            width = media.get('width')
            label = "("+ width + "x" + height + ")"
        except:
            label = ""
        video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" "+label+" [playwire]",media_url])


    for video_url in video_urls:
        logger.info("pelisalacarta.servers.playwire %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #31
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("(page_url='%s')" % page_url)

    url = page_url.replace(host,
                           "http://powvideo.xyz/iframe-") + "-954x562.html"

    data = httptools.downloadpage(page_url, cookies=False)
    cookie = data.headers['set-cookie']
    data = data.data

    file_id, aff = scrapertools.find_single_match(
        data, "'file_id', '(\d+)',[^']+'aff', '(\d+)',")
    _cookie = {
        "Cookie":
        cookie.replace("path=/; HttpOnly",
                       "file_id=" + file_id + "; aff=" + aff)
    }

    id = scrapertools.find_single_match(data, 'name="id" value="([^"]+)"')
    fname = scrapertools.find_single_match(data,
                                           'name="fname" value="([^"]+)"')
    hash = scrapertools.find_single_match(data, 'name="hash" value="([^"]+)"')

    post = "op=download1&usr_login=&referer=&fname=%s&id=%s&hash=%s" % (
        fname, id, hash)

    import time
    time.sleep(7)
    data = httptools.downloadpage(page_url, post, headers=_cookie).data

    for list in scrapertools.find_multiple_matches(data,
                                                   '_[^=]+=(\[[^\]]+\]);'):
        if len(list) == 703 or len(list) == 711:
            key = "".join(eval(list)[7:9])
            break
    if key.startswith("embed"):
        key = key[6:] + key[:6]
    matches = scrapertools.find_single_match(
        data, "<script type=[\"']text/javascript[\"']>(eval.*?)</script>")
    data = jsunpack.unpack(matches).replace("\\", "")

    data = scrapertools.find_single_match(data.replace('"', "'"),
                                          "sources\s*=[^\[]*\[([^\]]+)\]")
    matches = scrapertools.find_multiple_matches(data, "[src|file]:'([^']+)'")
    video_urls = []
    for video_url in matches:
        _hash = scrapertools.find_single_match(video_url, '[A-z0-9\_\-]{40,}')
        hash = decrypt(_hash, key)
        video_url = video_url.replace(_hash, hash)

        filename = scrapertools.get_filename_from_url(video_url)[-4:]
        if video_url.startswith("rtmp"):
            rtmp, playpath = video_url.split("vod/", 1)
            video_url = "%svod/ playpath=%s swfUrl=%splayer6/jwplayer.flash.swf pageUrl=%s" % \
                        (rtmp, playpath, host, page_url)
            filename = "RTMP"
        elif video_url.endswith(".m3u8"):
            video_url += "|User-Agent=" + headers[0][1]
        elif video_url.endswith("/v.mp4"):
            video_url_flv = re.sub(r'/v.mp4', '/v.flv', video_url)
            video_urls.append(["flv [powvideo]", video_url_flv])

        video_urls.append([filename + " [powvideo]", video_url])

    video_urls.sort(key=lambda x: x[0], reverse=True)
    for video_url in video_urls:
        logger.info("%s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #32
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("tvalacarta.servers.cntv get_video_url(page_url='%s')" %
                page_url)

    if page_url.startswith("http://"):
        data = scrapertools.cache_page(page_url)
        video_id = scrapertools.find_single_match(
            data, '"videoCenterId","([a-z0-9]+)"')
    else:
        video_id = page_url
        page_url = ""

    logger.info("tvalacarta.servers.cntv video_id=" + video_id)

    video_url_m3u8 = ""
    video_url_mp4_high = ""
    video_url_mp4_low = ""

    # Formato noticias
    if video_id != "":
        metadata_url = "http://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=" + video_id + "&tz=-1&from=000spanish&url=" + page_url + "&idl=32&idlr=32&modifyed=false"
        data = scrapertools.cache_page(metadata_url)
        logger.info(data)

        json_data = jsontools.load_json(data)

        #video_url_m3u8 = scrapertools.find_single_match(data,'"hls_url"\:"([^"]+)"')
        video_url_m3u8 = json_data['hls_url']
        video_url_mp4_high = json_data['video']['chapters'][0]['url']
        try:
            video_url_mp4_low = json_data['video']['lowChapters'][0]['url']
        except:
            video_url_mp4_low = ""

    # Formato programas
    else:
        video_id = scrapertools.find_single_match(data,
                                                  '"videoCenterId","(.*?)"')
        video_url_m3u8 = "http://asp.v.cntv.cn/hls/" + matches[0] + "/main.m3u8"

    logger.info("video_url_m3u8=" + video_url_m3u8)
    logger.info("video_url_mp4_high=" + video_url_mp4_high)
    logger.info("video_url_mp4_low=" + video_url_mp4_low)

    lista_videourls = []

    if video_url_mp4_low != "":
        lista_videourls.append([
            'LOW (' +
            scrapertools.get_filename_from_url(video_url_mp4_low)[-4:] +
            ') [cntv]', video_url_mp4_low
        ])

    if video_url_mp4_high != "":
        lista_videourls.append([
            'HIGH (' +
            scrapertools.get_filename_from_url(video_url_mp4_high)[-4:] +
            ') [cntv]', video_url_mp4_high
        ])

    if ".m3u8" in video_url_m3u8:
        data_calidades = scrapertools.cache_page(video_url_m3u8)
        patron_calidades = "BANDWIDTH=(\d+), RESOLUTION=([a-z0-9]+)\s*(.*?.m3u8)"
        matches = re.compile(patron_calidades,
                             re.DOTALL).findall(data_calidades)

        if len(matches) > 0:
            for bitrate, resolucion, calidad_url in matches:
                esta_url = urlparse.urljoin(video_url_m3u8, calidad_url)
                try:
                    kb = " " + str(int(bitrate) / 1024) + "Kbps "
                except:
                    kb = ""

                lista_videourls.append([
                    resolucion + kb + '(' +
                    scrapertools.get_filename_from_url(esta_url)[-4:] +
                    ') [cntv]', esta_url
                ])
        else:
            lista_videourls.append([
                '(' + scrapertools.get_filename_from_url(video_url_m3u8)[-4:] +
                ') [cntv]', video_url_m3u8
            ])

    else:
        lista_videourls.append([
            '(' + scrapertools.get_filename_from_url(video_url_m3u8)[-4:] +
            ') [cntv]', video_url_m3u8
        ])

    lista_videourls.reverse()

    for v in lista_videourls:
        logger.info("tvalacarta.servers.cntv %s - %s" % (v[0], v[1]))

    return lista_videourls
Example #33
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[nowvideo.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []

    video_id = scrapertools.get_match(
        page_url, "http://www.nowvideo.../video/([a-z0-9]+)")

    if premium:
        # Lee la página de login
        login_url = "http://www.nowvideo.eu/login.php"
        data = scrapertools.cache_page(login_url)

        # Hace el login
        login_url = "http://www.nowvideo.eu/login.php?return="
        post = "user="******"&pass="******"&register=Login"
        headers = []
        headers.append(["User-Agent", USER_AGENT])
        headers.append(["Referer", "http://www.nowvideo.eu/login.php"])
        data = scrapertools.cache_page(login_url, post=post, headers=headers)

        # Descarga la página del vídeo
        data = scrapertools.cache_page(page_url)
        logger.debug("data:" + data)

        # URL a invocar: http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        # En la página:
        '''
        flashvars.domain="http://www.nowvideo.eu";
        flashvars.file="rxnwy9ku2nwx7";
        flashvars.filekey="83.46.246.226-c7e707c6e20a730c563e349d2333e788";
        flashvars.advURL="0";
        flashvars.autoplay="false";
        flashvars.cid="1";
        flashvars.user="******";
        flashvars.key="bbb";
        flashvars.type="1";
        '''
        flashvar_file = scrapertools.get_match(data,
                                               'flashvars.file="([^"]+)"')
        flashvar_filekey = scrapertools.get_match(
            data, 'flashvars.filekey=([^;]+);')
        flashvar_filekey = scrapertools.get_match(
            data, 'var ' + flashvar_filekey + '="([^"]+)"')
        flashvar_user = scrapertools.get_match(data,
                                               'flashvars.user="******"]+)"')
        flashvar_key = scrapertools.get_match(data, 'flashvars.key="([^"]+)"')
        flashvar_type = scrapertools.get_match(data,
                                               'flashvars.type="([^"]+)"')

        # http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        url = "http://www.nowvideo.eu/api/player.api.php?user="******"&file=" + flashvar_file + "&pass="******"&cid=1&cid2=undefined&key=" + flashvar_filekey.replace(
            ".", "%2E").replace("-", "%2D") + "&cid3=undefined"
        data = scrapertools.cache_page(url)
        logger.info("data=" + data)

        location = scrapertools.get_match(data, 'url=([^\&]+)&')
        location = location + "?client=FLASH"

        video_urls.append([
            scrapertools.get_filename_from_url(location)[-4:] +
            " [premium][nowvideo]", location
        ])

    else:

        data = scrapertools.cache_page(page_url)

        flashvar_filekey = scrapertools.get_match(
            data, 'flashvars.filekey=([^;]+);')
        filekey = scrapertools.get_match(data, 'var %s="([^"]+)"' %
                                         flashvar_filekey).replace(
                                             ".", "%2E").replace("-", "%2D")

        # get stream url from api

        url = 'http://www.nowvideo.sx/api/player.api.php?key=%s&file=%s' % (
            filekey, video_id)
        data = scrapertools.cache_page(url)

        data = scrapertools.get_match(data, 'url=([^\&]+)&')
        res = scrapertools.get_header_from_response(
            url, header_to_get="content-type")
        if res == "text/html":
            data = urllib.quote_plus(data).replace(".", "%2E")
            url = 'http://www.nowvideo.sx/api/player.api.php?cid3=undefined&numOfErrors=1&user=undefined&errorUrl=%s&pass=undefined&errorCode=404&cid=1&cid2=undefined&file=%s&key=%s' % (
                data, video_id, filekey)
            data = scrapertools.cache_page(url)
            try:
                data = scrapertools.get_match(data, 'url=([^\&]+)&')
            except:
                url = 'http://www.nowvideo.sx/api/player.api.php?key=%s&file=%s' % (
                    filekey, video_id)
                data = scrapertools.cache_page(url)
                data = scrapertools.get_match(data, 'url=([^\&]+)&')

        media_url = data

        video_urls.append([
            scrapertools.get_filename_from_url(media_url)[-4:] + " [nowvideo]",
            media_url
        ])

    return video_urls
Example #34
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("pelisalacarta.videomega get_video_url(page_url='%s')" % page_url)

    video_urls = []

    id = scrapertools.get_match(page_url,"ref\=([A-Za-z0-9]+)")
    page_url = "http://videomega.tv/?ref="+id
    new_url = "http://videomega.tv/cdn.php?ref="+id+"&width=800&height=400"
    print "### page_url: %s" % (page_url)
    print "### new_url: %s" % (new_url)

    # Descarga la página
    headers = [
        ['Host', 'videomega.tv'],
        ['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'],
        ['Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'],
        ['Accept-Language', 'es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3'],
        ['Accept-Encoding', 'gzip, deflate'],
        ['Referer', page_url],
        ['Connection', 'keep-alive']
    ]
    data = scrapertools.cache_page(new_url , headers = headers)

    
    try:
        ## Debug
        l = []
        patron = 'document.write\(unescape\("([^"]+)"\)\)'
        matches = re.compile(patron,re.DOTALL).findall(data)
        print "######### matches:\n%s" % (matches)
        for loc in matches:
            l.append(urllib.unquote(loc))
        print "######### l1:\n%s" % (l[0])
        print "######### l2:\n%s" % (l[1])
        print "######### l3:\n%s" % (l[2])

        ## url válida en l3
        ## l3 quote
        #<script type="text/javascript">document.write(unescape("%3c%73%63%72%69%70%74%20%74%79%70%65%3d%22%74%65%78%74%2f%6a%61%76%61%73%63%72%69%70%74%22%3e%69%66%28%59%53%4a%63%4e%46%51%52%62%62%4f%29%7b%6a%77%70%6c%61%79%65%72%28%29%2e%6f%6e%52%65%61%64%79%28%66%75%6e%63%74%69%6f%6e%28%29%7b%6a%77%70%6c%61%79%65%72%28%29%2e%6c%6f%61%64%28%5b%7b%69%6d%61%67%65%3a%22%68%74%74%70%3a%2f%2f%73%74%31%32%39%2e%75%31%2e%76%69%64%65%6f%6d%65%67%61%2e%74%76%2f%76%69%64%65%6f%73%2f%73%63%72%65%65%6e%73%68%6f%74%73%2f%34%65%38%34%61%66%33%61%64%32%62%30%37%32%30%65%30%38%37%61%33%34%39%63%64%32%34%37%35%35%61%36%2e%6a%70%67%22%20%2c%20%66%69%6c%65%3a%22%68%74%74%70%3a%2f%2f%73%74%31%32%39%2e%75%31%2e%76%69%64%65%6f%6d%65%67%61%2e%74%76%2f%76%2f%34%65%38%34%61%66%33%61%64%32%62%30%37%32%30%65%30%38%37%61%33%34%39%63%64%32%34%37%35%35%61%36%2e%6d%70%34%3f%73%74%3d%61%79%77%66%77%58%44%31%33%73%56%6a%4b%37%49%59%73%64%75%6f%35%51%26%68%61%73%68%3d%38%31%52%65%32%48%55%4e%70%74%61%78%5a%39%66%64%57%34%74%6a%70%51%22%20%20%20%20%7d%5d%29%3b%7d%29%3b%7d%3c%2f%73%63%72%69%70%74%3e"));</script>
        ## l3 unquote
        #<script type="text/javascript">if(YSJcNFQRbbO){jwplayer().onReady(function(){jwplayer().load([{image:"http://st129.u1.videomega.tv/videos/screenshots/4e84af3ad2b0720e087a349cd24755a6.jpg" , file:"http://st129.u1.videomega.tv/v/4e84af3ad2b0720e087a349cd24755a6.mp4?st=aywfwXD13sVjK7IYsduo5Q&hash=81Re2HUNptaxZ9fdW4tjpQ"    }]);});}</script>

        ## l3 quote
        location = scrapertools.get_match(data,'<script type="text/javascript">document.write\(unescape\("([^"]+)"\)\)')
        logger.info("pelisalacarta.videomega location="+location)

        location = urllib.unquote(location)
        logger.info("pelisalacarta.videomega location="+location)

        ## l3 unquote
        location = scrapertools.get_match(location,'file\:"([^"]+)"')
        logger.info("pelisalacarta.videomega location="+location)

        video_urls.append( [ scrapertools.get_filename_from_url(location)[-4:]+" [videomega]" , location ] )

    except:
        media_url = scrapertools.get_match(data,'<source src="([^"]+)" type="video/mp4"/>')
        media_url+= "|Cookie=__cfduid=d99f17efc7261084a8b2fe4dee1773a5c1395122824594"
        video_urls = [ [ "mp4 [videomega]" , media_url ] ]
    else:
        video_urls = [ ["en videomega? Va a ser que no. Videomega está vacilón", False ] ]

    for video_url in video_urls:
        logger.info("pelisalacarta.videomega %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #35
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[nowvideo.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []

    if premium:
        # Lee la página de login
        login_url = "http://www.nowvideo.eu/login.php"
        data = scrapertools.cache_page(login_url)

        # Hace el login
        login_url = "http://www.nowvideo.eu/login.php?return="
        post = "user="******"&pass="******"&register=Login"
        headers = []
        headers.append(["User-Agent", USER_AGENT])
        headers.append(["Referer", "http://www.nowvideo.eu/login.php"])
        data = scrapertools.cache_page(login_url, post=post, headers=headers)

        # Descarga la página del vídeo
        data = scrapertools.cache_page(page_url)
        logger.debug("data:" + data)

        # URL a invocar: http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        # En la página:
        '''
        flashvars.domain="http://www.nowvideo.eu";
        flashvars.file="rxnwy9ku2nwx7";
        flashvars.filekey="83.46.246.226-c7e707c6e20a730c563e349d2333e788";
        flashvars.advURL="0";
        flashvars.autoplay="false";
        flashvars.cid="1";
        flashvars.user="******";
        flashvars.key="bbb";
        flashvars.type="1";
        '''
        flashvar_file = scrapertools.get_match(data,
                                               'flashvars.file="([^"]+)"')
        flashvar_filekey = scrapertools.get_match(
            data, 'flashvars.filekey="([^"]+)"')
        flashvar_user = scrapertools.get_match(data,
                                               'flashvars.user="******"]+)"')
        flashvar_key = scrapertools.get_match(data, 'flashvars.key="([^"]+)"')
        flashvar_type = scrapertools.get_match(data,
                                               'flashvars.type="([^"]+)"')

        #http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        url = "http://www.nowvideo.eu/api/player.api.php?user="******"&file=" + flashvar_file + "&pass="******"&cid=1&cid2=undefined&key=" + flashvar_filekey.replace(
            ".", "%2E").replace("-", "%2D") + "&cid3=undefined"
        data = scrapertools.cache_page(url)
        logger.info("data=" + data)

        location = scrapertools.get_match(data, 'url=([^\&]+)&')
        location = location + "?client=FLASH"

        video_urls.append([
            scrapertools.get_filename_from_url(location)[-4:] +
            " [premium][nowvideo]", location
        ])
    else:

        data = scrapertools.cache_page(page_url)
        logger.debug("data:" + data)

        # URL a invocar: http://www.nowvideo.eu/api/player.api.php?file=3695bce6e6288&user=undefined&codes=1&pass=undefined&key=83%2E44%2E253%2E73%2D64a25e17853b4b19586841e04b0d9382
        # En la página:
        '''
        flashvars.domain="http://www.nowvideo.eu";
        flashvars.file="3695bce6e6288";
        flashvars.filekey="83.44.253.73-64a25e17853b4b19586841e04b0d9382";
        flashvars.advURL="0";
        flashvars.autoplay="false";
        flashvars.cid="1";
        '''
        file = scrapertools.get_match(data, 'flashvars.file="([^"]+)"')
        key = scrapertools.get_match(data, 'flashvars.filekey="([^"]+)"')
        #http://www.nowvideo.eu/api/player.api.php?key=88%2E19%2E203%2E156%2Dd140046f284485aedf05563b85f1e8e9&codes=undefined&user=undefined&pass=undefined&file=6f213c972dc5b
        url = "http://www.nowvideo.eu/api/player.api.php?file=" + file + "&user=undefined&codes=undefined&pass=undefined&key=" + key.replace(
            ".", "%2E").replace("-", "%2D")
        data = scrapertools.cache_page(url)
        logger.info("data=" + data)
        # url=http://f23.nowvideo.eu/dl/653d434d3cd95f1f7b9df894366652ba/4fc2af77/nnb7e7f45f276be5a75b10e8d6070f6f4c.flv&title=Title%26asdasdas&site_url=http://www.nowvideo.eu/video/3695bce6e6288&seekparm=&enablelimit=0

        location = scrapertools.get_match(data, 'url=([^\&]+)&')
        location = location + "?client=FLASH"

        video_urls.append([
            scrapertools.get_filename_from_url(location)[-4:] + " [nowvideo]",
            location
        ])

    for video_url in video_urls:
        logger.info("[nowvideo.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #36
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[magnovideo.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []

    headers = []
    headers.append(["User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20100101 Firefox/17.0"])
    
    id_video = scrapertools.get_match(page_url,"\?v\=([A-Z0-9]+)")
    data = scrapertools.cache_page("http://www.magnovideo.com/player_config.php?mdid="+id_video)
    logger.info("data="+data)
    
    #http://e1.magnovideo.com:8080/storage/files/0/0/16/161/1.mp4?burst=3890k&u=600k&st=ybNoWopdpGeeDy6dXVh4kw&e=1360030261
    #<first_frame>http://s2.magnovideo.com/storage/files/0/0/99/197/large/1.jpg</first_frame>
    #<video_name>1.mp4</video_name>
    #<storage_path>http://e1.magnovideo.com:8080/</storage_path>
    #<movie_burst>3890</movie_burst>
    #<burst_speed>600</burst_speed>
    #<ste>st=ybNoWopdpGeeDy6dXVh4kw&e=1360030261</ste>

    first_frame = scrapertools.get_match(data,"<first_frame>([^<]+)</first_frame>")
    logger.info("first_frame="+first_frame)

    video_name = scrapertools.get_match(data,"<video_name>([^<]+)</video_name>")
    logger.info("video_name="+video_name)
    
    storage_path = scrapertools.get_match(data,"<storage_path>([^<]+)</storage_path>")
    logger.info("storage_path="+storage_path)
    
    movie_burst = scrapertools.get_match(data,"<movie_burst>([^<]+)</movie_burst>")
    logger.info("movie_burst="+movie_burst)
    
    burst_speed = scrapertools.get_match(data,"<burst_speed>([^<]+)</burst_speed>")
    logger.info("burst_speed="+burst_speed)
    
    ste = scrapertools.get_match(data,"<ste>([^<]+)</ste>")
    logger.info("ste="+ste)

    #http://e1.magnovideo.com:8080/storage/files/0/0/16/161/1.mp4?burst=3890k&u=600k&st=ybNoWopdpGeeDy6dXVh4kw&e=1360030261

    base_path = re.compile("http\://.*?/",re.DOTALL).sub(storage_path,first_frame)
    logger.info("base_path="+base_path)

    location = base_path.replace("large/1.jpg",video_name)
    location = location+"?burst="+movie_burst+"k&u="+burst_speed+"k&"+ste
    
    '''
    # Pide la primera
    logger.info("----------------------------------------------------------------------------------------------------")
    data = scrapertools.cache_page(page_url,headers=headers)
    logger.info("cookies="+config.get_cookie_data())
    logger.info("data="+data)
    
    # Pide la segunda con el v.php
    #http://www.magnovideo.com/?v=QRATZ9UN
    #http://www.magnovideo.com/v.php?dl=QRATZ9UN
    headers.append(["Referer",page_url])
    logger.info("----------------------------------------------------------------------------------------------------")
    data = scrapertools.cache_page(page_url.replace("?v=","v.php?dl="),headers=headers)
    logger.info("cookies="+config.get_cookie_data())
    logger.info("data="+data)

    # Vuelve a pedir la primera, esta vez con las cookies bien
    headers[1][1]=page_url.replace("?v=","v.php?dl=")
    logger.info("----------------------------------------------------------------------------------------------------")
    data = scrapertools.cache_page(page_url,headers=headers)
    logger.info("cookies="+config.get_cookie_data())
    logger.info("data="+data)

    # Busca el enlace
    location = scrapertools.get_match(data,"http\://www.magnovideo.com/templates_mu/player/crilance_player.swf\?flv\=([^\&]+)\&")
    location = location+"?burst=5568k"
    '''
    
    video_urls.append( [scrapertools.get_filename_from_url(location)[-4:]+" [magnovideo]" , location] )

    for video_url in video_urls:
        logger.info("[magnovideo.py] %s - %s" % (video_url[0],video_url[1]))


    return video_urls
Example #37
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("pelisalacarta.servers.flashx url=" + page_url)

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    #logger.info("data="+data)

    form_url = scrapertools.get_match(
        data, "<Form method=\"POST\" action='([^']+)'>")
    logger.info("pelisalacarta.servers.flashx form_url=" + form_url)
    form_url = urlparse.urljoin(page_url, form_url)
    logger.info("pelisalacarta.servers.flashx form_url=" + form_url)

    op = scrapertools.get_match(
        data, '<input type="hidden" name="op" value="([^"]+)"')
    logger.info("pelisalacarta.servers.flashx op=" + op)

    usr_login = ""

    id = scrapertools.get_match(
        data, '<input type="hidden" name="id" value="([^"]+)"')
    logger.info("pelisalacarta.servers.flashx id=" + id)

    fname = scrapertools.get_match(
        data, '<input type="hidden" name="fname" value="([^"]+)"')
    logger.info("pelisalacarta.servers.flashx fname=" + fname)

    referer = scrapertools.get_match(
        data, '<input type="hidden" name="referer" value="([^"]*)"')
    logger.info("pelisalacarta.servers.flashx referer=" + referer)

    hashstring = scrapertools.get_match(
        data, '<input type="hidden" name="hash" value="([^"]*)"')
    logger.info("pelisalacarta.servers.flashx hashstring=" + hashstring)

    imhuman = scrapertools.get_match(
        data, '<input type="submit".*?name="imhuman" value="([^"]+)"').replace(
            " ", "+")
    logger.info("pelisalacarta.servers.flashx imhuman=" + imhuman)

    import time
    time.sleep(10)

    # Lo pide una segunda vez, como si hubieras hecho click en el banner
    #op=download1&usr_login=&id=z3nnqbspjyne&fname=Coriolanus_DVDrip_Castellano_by_ARKONADA.avi&referer=&hash=nmnt74bh4dihf4zzkxfmw3ztykyfxb24&imhuman=Continue+to+Video
    #op=download1&usr_login=&id=h6gjvhiuqfsq&fname=GENES1S.avi&referer=&hash=taee4nbdgbuwuxfguju3t6nq2gkdzs6k&imhuman=Proceed+to+video
    #op=download1&usr_login=&id=vpkvjdpkh972&fname=G4ngm4n15HDRSub.avi&referer=&hash=1357853-176-86-1437560090-ee4170e4a4eca471524f6f07eca2b7a9&imhuman=Proceed+to+video
    post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&hash=" + hashstring + "&imhuman=" + imhuman
    headers.append(["Referer", page_url])
    body = scrapertools.cache_page(form_url, post=post, headers=headers)
    logger.info("body=" + body)

    data = scrapertools.find_single_match(
        body,
        "<script type='text/javascript'>(eval\(function\(p,a,c,k,e,d.*?)</script>"
    )
    logger.info("data=" + data)
    data = jsunpack.unpack(data)
    logger.info("data=" + data)

    # Extrae la URL
    #{file:"http://f11-play.flashx.tv/luq4gfc7gxixexzw6v4lhz4xqslgqmqku7gxjf4bk43u4qvwzsadrjsozxoa/video1.mp4"}
    video_urls = []
    media_urls = scrapertools.find_multiple_matches(data, '\{file\:"([^"]+)"')
    video_urls = []
    for media_url in media_urls:
        video_urls.append([
            scrapertools.get_filename_from_url(media_url)[-4:] + " [flashx]",
            media_url
        ])

    for video_url in video_urls:
        logger.info("pelisalacarta.servers.flashx %s - %s" %
                    (video_url[0], video_url[1]))

    return video_urls
Example #38
0
def findvideos(item):
    logger.info("pelisalacarta.channels.divxatope findvideos")
    itemlist = []

    # Descarga la pagina
    item.url = item.url.replace("divxatope.com/descargar/",
                                "divxatope.com/ver-online/")
    '''
    <div class="box1"><img src='http://www.divxatope.com/uploads/images/gestores/thumbs/1411605666_nowvideo.jpg' width='33' height='33'></div>
    <div class="box2">nowvideo</div>
    <div class="box3">Español Castel</div>
    <div class="box4">DVD-Screene</div>
    <div class="box5"><a href="http://www.nowvideo.ch/video/affd21b283421" rel="nofollow" target="_blank">Ver Online</a></div>
    '''
    # Descarga la pagina
    data = scrapertools.cachePage(item.url)

    item.plot = scrapertools.find_single_match(
        data, '<div class="post-entry" style="height:300px;">(.*?)</div>')
    item.plot = scrapertools.htmlclean(item.plot).strip()
    item.contentPlot = item.plot

    link = scrapertools.find_single_match(
        data, 'href="http://tumejorserie.*?link=([^"]+)"')
    if link != "":
        link = "http://www.divxatope.com/" + link
        logger.info("pelisalacarta.channels.divxatope torrent=" + link)
        itemlist.append(
            Item(channel=item.channel,
                 action="play",
                 server="torrent",
                 title="Vídeo en torrent",
                 fulltitle=item.title,
                 url=link,
                 thumbnail=servertools.guess_server_thumbnail("torrent"),
                 plot=item.plot,
                 folder=False,
                 parentContent=item))

    patron = "<div class=\"box1\"[^<]+<img[^<]+</div[^<]+"
    patron += '<div class="box2">([^<]+)</div[^<]+'
    patron += '<div class="box3">([^<]+)</div[^<]+'
    patron += '<div class="box4">([^<]+)</div[^<]+'
    patron += '<div class="box5">(.*?)</div[^<]+'
    patron += '<div class="box6">([^<]+)<'
    matches = re.compile(patron, re.DOTALL).findall(data)
    scrapertools.printMatches(matches)

    itemlist_ver = []
    itemlist_descargar = []

    for servername, idioma, calidad, scrapedurl, comentarios in matches:
        title = "Mirror en " + servername + " (" + calidad + ")" + " (" + idioma + ")"
        if comentarios.strip() != "":
            title = title + " (" + comentarios.strip() + ")"
        url = urlparse.urljoin(item.url, scrapedurl)
        thumbnail = servertools.guess_server_thumbnail(title)
        plot = ""
        if (DEBUG):
            logger.info("title=[" + title + "], url=[" + url +
                        "], thumbnail=[" + thumbnail + "]")
        new_item = Item(channel=item.channel,
                        action="extract_url",
                        title=title,
                        fulltitle=title,
                        url=url,
                        thumbnail=thumbnail,
                        plot=plot,
                        folder=True,
                        parentContent=item)
        if comentarios.startswith("Ver en"):
            itemlist_ver.append(new_item)
        else:
            itemlist_descargar.append(new_item)

    for new_item in itemlist_ver:
        itemlist.append(new_item)

    for new_item in itemlist_descargar:
        itemlist.append(new_item)

    if len(itemlist) == 0:
        itemlist = servertools.find_video_items(item=item, data=data)
        for videoitem in itemlist:
            videoitem.title = "Enlace encontrado en " + videoitem.server + " (" + scrapertools.get_filename_from_url(
                videoitem.url) + ")"
            videoitem.fulltitle = item.fulltitle
            videoitem.thumbnail = item.thumbnail
            videoitem.channel = item.channel

    return itemlist
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[streaminto.py] url=" + page_url)

    # Normaliza la URL
    try:
        if not page_url.startswith("http://streamin.to/embed-"):
            videoid = scrapertools.get_match(page_url,
                                             "streamin.to/([a-z0-9A-Z]+)")
            page_url = "http://streamin.to/embed-" + videoid + ".html"
    except:
        import traceback
        logger.info(traceback.format_exc())

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    #logger.info("data="+data)

    #sources: [{file: "rtmp://95.211.95.238:1935/vod?h=t2i7k2olyhuzcg3h5e7cft5ly2ubyenv7dh6cfa2qgo5g6dl3dfuch4lvkka/flv:68/3185801774_n.flv?h=t2i7k2olyhuzcg3h5e7cft5ly2ubyenv7dh6cfa2qgo5g6dl3dfuch4lvkka"},{file: "http://95.211.95.238:8777/t2i7k2olyhuzcg3h5e7cft5ly2ubyenv7dh6cfa2qgo5g6dl3dfuch4lvkka/v.flv"}],
    patron = ',\{file\: "([^"]+)"'
    #patron_rtmp = '\[{file\: "([^"]+)"'
    #patron_flv = ',\{file\: "([^"]+)"'
    try:
        #media_url = scrapertools.get_match( data , 'file\: "([^"]+)"' )
        media_url = scrapertools.get_match(data, patron)
    except:
        op = scrapertools.get_match(
            data, '<input type="hidden" name="op" value="([^"]+)"')
        usr_login = ""
        id = scrapertools.get_match(
            data, '<input type="hidden" name="id" value="([^"]+)"')
        fname = scrapertools.get_match(
            data, '<input type="hidden" name="fname" value="([^"]+)"')
        referer = scrapertools.get_match(
            data, '<input type="hidden" name="referer" value="([^"]*)"')
        hashstring = scrapertools.get_match(
            data, '<input type="hidden" name="hash" value="([^"]*)"')
        imhuman = scrapertools.get_match(
            data,
            '<input type="submit" name="imhuman".*?value="([^"]+)"').replace(
                " ", "+")

        import time
        time.sleep(10)

        # Lo pide una segunda vez, como si hubieras hecho click en el banner
        #op=download1&usr_login=&id=z3nnqbspjyne&fname=Coriolanus_DVDrip_Castellano_by_ARKONADA.avi&referer=&hash=nmnt74bh4dihf4zzkxfmw3ztykyfxb24&imhuman=Continue+to+Video
        post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&hash=" + hashstring + "&imhuman=" + imhuman
        headers.append(["Referer", page_url])
        data = scrapertools.cache_page(page_url, post=post, headers=headers)
        logger.info("data=" + data)

        # Extrae la URL
        #media_url = scrapertools.get_match( data , 'file\: "([^"]+)"' )
        media_url = scrapertools.get_match(data, patron)

    video_urls = []
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [streaminto]",
        media_url
    ])

    for video_url in video_urls:
        logger.info("[streamcloud.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #40
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[vidspot.py] url=" + page_url)

    # Normaliza la URL
    try:
        if not page_url.startswith("http://vidspot.net/embed-"):
            videoid = scrapertools.get_match(page_url,
                                             "vidspot.net/([a-z0-9A-Z]+)")
            page_url = "http://vidspot.net/embed-" + videoid + ".html"
    except:
        import traceback
        logger.info(traceback.format_exc())

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    logger.info("data=" + data)

    try:
        op = scrapertools.get_match(
            data, '<input type="hidden" name="op" value="([^"]+)"')
        usr_login = ""
        id = scrapertools.get_match(
            data, '<input type="hidden" name="id" value="([^"]+)"')
        fname = scrapertools.get_match(
            data, '<input type="hidden" name="fname" value="([^"]+)"')
        referer = scrapertools.get_match(
            data, '<input type="hidden" name="referer" value="([^"]*)"')
        method_free = scrapertools.get_match(
            data, '<input type="hidden" name="method_free" value="([^"]*)"')
        submitbutton = scrapertools.get_match(
            data, '<input type="image"  id="submitButton".*?value="([^"]+)"'
        ).replace(" ", "+")

        import time
        time.sleep(10)

        # Lo pide una segunda vez, como si hubieras hecho click en el banner
        #op=download1&usr_login=&id=d6fefkzvjc1z&fname=coriolanus.dvdr.mp4&referer=&method_free=1&x=109&y=17
        post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&method_free=" + method_free + "&x=109&y=17"
        headers.append(["Referer", page_url])
        data = scrapertools.cache_page(page_url, post=post, headers=headers)
        logger.info("data=" + data)
    except:
        pass

    # Extrae la URL
    match = re.compile('"file" : "(.+?)",').findall(data)
    media_url = ""
    if len(match) > 0:
        for tempurl in match:
            if not tempurl.endswith(".png") and not tempurl.endswith(".srt"):
                media_url = tempurl

        if media_url == "":
            media_url = match[0]

    video_urls = []
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [vidspot]",
        media_url
    ])

    for video_url in video_urls:
        logger.info("[vidspot.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #41
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("pelisalacarta.powvideo get_video_url(page_url='%s')" %
                page_url)

    # Lo pide una vez
    if not "embed" in page_url:
        page_url = page_url.replace(
            "http://powvideo.net/",
            "http://powvideo.net/embed-") + "-640x360.html"

    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ], ['Referer', page_url]]
    page_url = page_url.replace("embed", "iframe")

    data = scrapertools.cache_page(page_url, headers=headers)
    logger.info("data=" + data)

    #Quitado porque funciona mas rapido asi y no veo necesidad de esto:
    '''
    try:
        op = scrapertools.get_match(data,'<input type="hidden" name="op" value="(down[^"]+)"')
        usr_login = ""
        id = scrapertools.get_match(data,'<input type="hidden" name="id" value="([^"]+)"')
        fname = scrapertools.get_match(data,'<input type="hidden" name="fname" value="([^"]+)"')
        referer = scrapertools.get_match(data,'<input type="hidden" name="referer" value="([^"]*)"')
        hashvalue = scrapertools.get_match(data,'<input type="hidden" name="hash" value="([^"]*)"')
        submitbutton = scrapertools.get_match(data,'<input type="submit" name="imhuman" value="([^"]+)"').replace(" ","+")

        import time
        time.sleep(30)

        # Lo pide una segunda vez, como si hubieras hecho click en el banner
        #op=download1&usr_login=&id=auoxxtvyquoy&fname=Star.Trek.Into.Darkness.2013.HD.m720p.LAT.avi&referer=&hash=1624-83-46-1377796019-c2b422f91da55d12737567a14ea3dffe&imhuman=Continue+to+Video
        #op=search&usr_login=&id=auoxxtvyquoy&fname=Star.Trek.Into.Darkness.2013.HD.m720p.LAT.avi&referer=&hash=1624-83-46-1377796398-8020e5629f50ff2d7b7de99b55bdb177&imhuman=Continue+to+Video
        post = "op="+op+"&usr_login="******"&id="+id+"&fname="+fname+"&referer="+referer+"&hash="+hashvalue+"&imhuman="+submitbutton
        headers.append(["Referer",page_url])
        data = scrapertools.cache_page( page_url , post=post, headers=headers )
        #logger.info("data="+data)
    except:
        import traceback
        traceback.print_exc()
    '''
    # Extrae la URL
    data = scrapertools.find_single_match(
        data, "<script type='text/javascript'>(.*?)</script>")
    logger.info("data=" + data)
    data = jsunpack.unpack(data)
    logger.info("data=" + data)

    data = scrapertools.find_single_match(data, "sources\=\[([^\]]+)\]")
    logger.info("data=" + data)
    data = data.replace("\\", "")
    logger.info("data=" + data)
    '''
    {image:image,tracks:tracks,file:'rtmp://5.39.70.113:19350/vod/mp4:01/00219/dw5tbqp6dr3i_n?h=m4ohputqpiikkfn2mda7ymaimgo5n34f7uvpizy5vkjn7ifqrv6y2y6n5y',description:'dw5tbqp6dr3i'},
    {image:image,tracks:tracks,file:'http://powvideo.net/m4ohputqpiikkfn2mda7ymaimgo5n34f7uvpizy5vkjn7ifqrv6y2y6n5y.m3u8',description:'dw5tbqp6dr3i'},{image:image,tracks:tracks,file:'http://5.39.70.113:8777/m4ohputqpiikkfn2mda7ymaimgo5n34f7uvpizy5vkjn7ifqrv6y2y6n5y/v.mp4',description:'dw5tbqp6dr3i'}
    '''
    '''
    {image:image,tracks:tracks,src:'rtmp://37.59.21.34:19350/vod/mp4:01/00255/iw61agv7g8yt_n?h=juohowjvpeikkfn2mds7ypiimi67nuoiof5ajr5w76wdk3c5q2wzhftesq',description:'iw61agv7g8yt'},
    {image:image,tracks:tracks,src:'http://powvideo.net/juohowjvpeikkfn2mds7ypiimi67nuoiof5ajr5w76wdk3c5q2wzhftesq.m3u8',description:'iw61agv7g8yt'},{image:image,tracks:tracks,src:'http://37.59.21.34:8777/juohowjvpeikkfn2mds7ypiimi67nuoiof5ajr5w76wdk3c5q2wzhftesq/v.mp4',description:'iw61agv7g8yt'}
    '''
    patron = "src:'([^']+)'"
    matches = re.compile(patron, re.DOTALL).findall(data)
    video_urls = []
    for match in matches:
        video_urls.append([
            scrapertools.get_filename_from_url(match)[-4:] + " [powvideo]",
            match
        ])

    for video_url in video_urls:
        logger.info("[powvideo.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #42
0
def novedades_tv(item):
    logger.info("[filmsenzalimiti.py] novedades")
    itemlist = []

    # Descarga la página
    data = scrapertools.cache_page(item.url)

    patronvideos = '<div class="post-item-side"[^<]+'
    patronvideos += '<a href="([^"]+)"[^<]+<img src="([^"]+)"'
    matches = re.compile(patronvideos, re.DOTALL).findall(data)

    for scrapedurl, scrapedthumbnail in matches:
        html = scrapertools.cache_page(scrapedurl)
        start = html.find("</b></center></div>")
        end = html.find("</p>", start)
        scrapedplot = html[start:end]
        scrapedplot = re.sub(r'<[^>]*>', '', scrapedplot)
        scrapedplot = scrapertools.decodeHtmlentities(scrapedplot)
        scrapedtitle = scrapertools.get_filename_from_url(scrapedurl).replace(
            "-", " ").replace("/", "").replace(".html",
                                               "").capitalize().strip()
        if (DEBUG):
            logger.info("title=[" + scrapedtitle + "], url=[" + scrapedurl +
                        "], thumbnail=[" + scrapedthumbnail + "]")
        try:
            plot, fanart, poster, extrameta = info_tv(scrapedtitle)

            itemlist.append(
                Item(channel=__channel__,
                     thumbnail=poster,
                     fanart=fanart if fanart != "" else poster,
                     extrameta=extrameta,
                     plot=str(plot),
                     action="episodios"
                     if item.extra == "serie" else "findvideos",
                     title="[COLOR azure]" + scrapedtitle + "[/COLOR]",
                     url=scrapedurl,
                     fulltitle=scrapedtitle,
                     show=scrapedtitle,
                     folder=True))
        except:
            itemlist.append(
                Item(channel=__channel__,
                     action="episodios"
                     if item.extra == "serie" else "findvideos",
                     fulltitle=scrapedtitle,
                     show=scrapedtitle,
                     title="[COLOR azure]" + scrapedtitle + "[/COLOR]",
                     url=scrapedurl,
                     thumbnail=scrapedthumbnail,
                     plot=scrapedplot,
                     folder=True))

    try:
        next_page = scrapertools.get_match(
            data, 'class="nextpostslink" rel="next" href="([^"]+)"')
        itemlist.append(
            Item(
                channel=__channel__,
                extra=item.extra,
                action="novedades_tv",
                title="[COLOR orange]Successivo >>[/COLOR]",
                url=next_page,
                thumbnail=
                "http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png",
                folder=True))
    except:
        pass

    return itemlist
Example #43
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[nowvideo.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []
    
    video_id = scrapertools.get_match(page_url,"http://www.nowvideo.../video/([a-z0-9]+)")

    if premium:
        # Lee la página de login
        login_url = "http://www.nowvideo.eu/login.php"
        data = scrapertools.cache_page( login_url )

        # Hace el login
        login_url = "http://www.nowvideo.eu/login.php?return="
        post = "user="******"&pass="******"&register=Login"
        headers=[]
        headers.append(["User-Agent",USER_AGENT])
        headers.append(["Referer","http://www.nowvideo.eu/login.php"])
        data = scrapertools.cache_page( login_url , post=post, headers=headers )

        # Descarga la página del vídeo 
        data = scrapertools.cache_page( page_url )
        logger.debug("data:" + data)
        
        # URL a invocar: http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        # En la página:
        '''
        flashvars.domain="http://www.nowvideo.eu";
        flashvars.file="rxnwy9ku2nwx7";
        flashvars.filekey="83.46.246.226-c7e707c6e20a730c563e349d2333e788";
        flashvars.advURL="0";
        flashvars.autoplay="false";
        flashvars.cid="1";
        flashvars.user="******";
        flashvars.key="bbb";
        flashvars.type="1";
        '''
        flashvar_file = scrapertools.get_match(data,'flashvars.file="([^"]+)"')
        flashvar_filekey = scrapertools.get_match(data,'flashvars.filekey="([^"]+)"')
        flashvar_user = scrapertools.get_match(data,'flashvars.user="******"]+)"')
        flashvar_key = scrapertools.get_match(data,'flashvars.key="([^"]+)"')
        flashvar_type = scrapertools.get_match(data,'flashvars.type="([^"]+)"')

        #http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        url = "http://www.nowvideo.eu/api/player.api.php?user="******"&file="+flashvar_file+"&pass="******"&cid=1&cid2=undefined&key="+flashvar_filekey.replace(".","%2E").replace("-","%2D")+"&cid3=undefined"
        data = scrapertools.cache_page( url )
        logger.info("data="+data)
        
        location = scrapertools.get_match(data,'url=([^\&]+)&')
        location = location + "?client=FLASH"

        video_urls.append( [ scrapertools.get_filename_from_url(location)[-4:] + " [premium][nowvideo]",location ] )
    else:
        # http://www.nowvideo.sx/video/xuntu4pfq0qye
        data = scrapertools.cache_page( page_url )
        logger.debug("data="+data)

        data = unwise.unwise_process(data)
        logger.debug("data="+data)

        filekey = unwise.resolve_var(data, "flashvars.filekey")
        logger.debug("filekey="+filekey)
        
        #get stream url from api
        url = 'http://www.nowvideo.sx/api/player.api.php?key=%s&file=%s' % (filekey, video_id)
        data = scrapertools.cache_page(url)
        logger.debug("data="+data)

        location = scrapertools.get_match(data,'url=(.+?)&title')

        video_urls.append( [ scrapertools.get_filename_from_url(location)[-4:] + " [nowvideo]",location ] )

    for video_url in video_urls:
        logger.info("[nowvideo.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #44
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[flashx.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []

    # http://play.flashx.tv/player/embed.php?hash=4KB84GO238XX&width=600&height=370&autoplay=no
    data = scrapertools.cache_page(page_url)
    logger.info("data=" + data)
    logger.info("        ")
    logger.info(
        "----------------------------------------------------------------------"
    )
    logger.info("        ")
    '''
    <form method="POST" action="playfx.php" />
      <input name="yes" type="hidden" value="m8fr27GmfHRrmr/CpqVpiouM79zY5plvaZaomdzXmpmb2rWmq6JXpZjJ4NTn2m5il8jb2NWiYpeZyKqo2aRimGzM2qPXp2pol5ewqq2jlliU2+zi5N6Sq3Df3eaa56SXpc/osKurX2NnmqanqaBiaGeM59/Y5pqfmKOppqylY2Vql6qk">
      <input name="sec" type="hidden" value="Z7G6q6i5gGRmntDL">
      <a href="" onclick="document.forms[0].submit();popup('http://free-stream.tv/','adsf','810','450','yes');return false;" class="auto-style3"><strong><font color="red">PLAY NOW (CLICK HERE)</font></strong></a></span><br />
    </form>
    '''
    bloque = scrapertools.get_match(
        data, '<form method="POST" action="playfx.php"(.*?)</form>')
    logger.info("bloque=" + bloque)
    yes = scrapertools.get_match(
        data, '<input name="yes" type="hidden" value="([^"]+)">')
    sec = scrapertools.get_match(
        data, '<input name="sec" type="hidden" value="([^"]+)">')

    # POST http://play.flashx.tv/player/playfx.php
    # yes=m8fr27GmfHRrmr%2FCpqVpiouM79zY5plvaZaomdzXmpmb2rWmq6JXpZjJ4NTn2m5il8jb2NWiYpeZyKqo2aRimGzM2qPXp2pol5ewqq2jlliU2%2Bzi5N6Sq3Df3eaa56SXpc%2FosKurX2NnmqanqaBiaGeM59%2FY5pqfmKOppqylY2Vql6qk&sec=Z7G6q6i5gGRmntDL
    post = urllib.urlencode({"yes": yes, "sec": sec})
    url = "http://play.flashx.tv/player/playfx.php"
    data = scrapertools.cache_page(url, post=post)
    logger.info("data=" + data)
    logger.info("        ")
    logger.info(
        "----------------------------------------------------------------------"
    )
    logger.info("        ")
    '''
    <object id="nuevoplayer" width="'+ww+'" height="'+hh+'" data="http://embed.flashx.tv/nuevo/player/fxplay.swf?config=http://play.flashx.tv/nuevo/player/play.php?str=4MfrzrWaw6iwmr.1qpmwvtA=" type="application/x-shockwave-flash"
    '''
    url = scrapertools.get_match(
        data, '(http://play.flashx.tv/nuevo/player/play.php\?str=[^"]+)"')
    data = scrapertools.cache_page(url, post=post)
    logger.info("data=" + data)
    logger.info("        ")
    logger.info(
        "----------------------------------------------------------------------"
    )
    logger.info("        ")

    #http://play.flashx.tv/nuevo/player/play.php?str=4MfrzrWaw6iwmr.1qpmwvtA=
    #<file>http://fx021.flashx.tv:8080/video/2012/12/16---xYUbI3bSDzihXs9IP6eNRw---1383258808---1355698331547fb.flv</file>

    media_url = scrapertools.get_match(data, "<file>([^<]+)</file>")
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [flashx]",
        media_url
    ])

    for video_url in video_urls:
        logger.info("[flashx.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #45
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[streamcloud.py] url=" + page_url)

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    #logger.info("data="+data)

    logger.info("[streamcloud.py] Esperando 10 segundos...")

    try:
        from platformcode.xbmc import xbmctools
        xbmctools.handle_wait(12, "streamcloud", '')
    except:
        import time
        time.sleep(12)

    logger.info("[streamcloud.py] Espera concluida")

    try:
        media_url = scrapertools.get_match(data,
                                           'file\: "([^"]+)"') + "?start=0"
    except:
        op = scrapertools.get_match(
            data, '<input type="hidden" name="op" value="([^"]+)"')
        usr_login = ""
        id = scrapertools.get_match(
            data, '<input type="hidden" name="id" value="([^"]+)"')
        fname = scrapertools.get_match(
            data, '<input type="hidden" name="fname" value="([^"]+)"')
        referer = scrapertools.get_match(
            data, '<input type="hidden" name="referer" value="([^"]*)"')
        hashstring = scrapertools.get_match(
            data, '<input type="hidden" name="hash" value="([^"]*)"')
        imhuman = scrapertools.get_match(
            data,
            '<input type="submit" name="imhuman".*?value="([^"]+)">').replace(
                " ", "+")

        post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&hash=" + hashstring + "&imhuman=" + imhuman
        headers.append(["Referer", page_url])
        data = scrapertools.cache_page(page_url, post=post, headers=headers)

        if 'id="justanotice"' in data:
            logger.info("[streamcloud.py] data=" + data)
            logger.info("[streamcloud.py] Ha saltado el detector de adblock")
            return []

        # Extrae la URL
        media_url = scrapertools.get_match(data,
                                           'file\: "([^"]+)"') + "?start=0"

    video_urls = []
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [streamcloud]",
        media_url
    ])

    for video_url in video_urls:
        logger.info("[streamcloud.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #46
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[netutv.py] url=" + page_url)

    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'
    ]]

    #"/netu/tv/"
    if "www.yaske.net" in page_url:

        urlEncode = urllib.quote_plus(page_url)
        id_video = scrapertools.get_match(page_url, "embed_([A-Za-z0-9]+)")
        data = scrapertools.cache_page(page_url, headers=headers)

        headers.append(['Referer', page_url])
        try:
            #-------------------------------------
            page_url_the_new_video_id = scrapertools.get_match(
                data, 'script src="([^"]+)"></script>')
            data_with_new_video_id = scrapertools.cache_page(
                page_url_the_new_video_id, headers=headers)
            #-------------------------------------
            new_id_video = scrapertools.get_match(data_with_new_video_id,
                                                  "var vid='([^']+)';")
            #-------------------------------------
            # Petición a hqq.tv con la nueva id de vídeo
            page_url_hqq = "http://hqq.tv/player/embed_player.php?vid=" + new_id_video + "&autoplay=no"
            data_page_url_hqq = scrapertools.cache_page(page_url_hqq,
                                                        headers=headers)
            b64_data = scrapertools.get_match(data_page_url_hqq,
                                              'base64,([^"]+)"')
            #-------------------------------------
            b64_data_inverse = b64(b64_data)
            b64_data_2 = scrapertools.get_match(b64_data_inverse,
                                                "='([^']+)';")
            utf8_data_encode = b64(b64_data_2, True)
            utf8_encode = scrapertools.get_match(utf8_data_encode,
                                                 "='([^']+)';")
            utf8_decode = utf8_encode.replace("%",
                                              "\\").decode('unicode-escape')
            utf8 = utf8_decode
            #-------------------------------------
        except:
            #-------------------------------------
            b64_data = scrapertools.get_match(
                data,
                '<script language="javascript" type="text/javascript" src="data:text/javascript;charset=utf-8;base64,([^"]+)"></script>'
            )
            #-------------------------------------
            b64_data_inverse = b64(b64_data)
            b64_data_2 = scrapertools.get_match(b64_data_inverse,
                                                "='([^']+)';")
            utf8_data_encode = b64(b64_data_2, True)
            utf8_encode = scrapertools.get_match(utf8_data_encode,
                                                 "='([^']+)';")
            utf8_decode = utf8_encode.replace("%",
                                              "\\").decode('unicode-escape')
            #-------------------------------------
            new_id_video = scrapertools.get_match(utf8_decode,
                                                  'value="([^"]+)"')
            #-------------------------------------
            # Petición a hqq.tv con la nueva id de vídeo
            page_url_hqq = "http://hqq.tv/player/embed_player.php?vid=" + new_id_video + "&autoplay=no"
            data_page_url_hqq = scrapertools.cache_page(page_url_hqq,
                                                        headers=headers)
            b64_data = scrapertools.get_match(data_page_url_hqq,
                                              'base64,([^"]+)"')
            #-------------------------------------
            b64_data_inverse = b64(b64_data)
            b64_data_2 = scrapertools.get_match(b64_data_inverse,
                                                "='([^']+)';")
            utf8_data_encode = b64(b64_data_2, True)
            utf8_encode = scrapertools.get_match(utf8_data_encode,
                                                 "='([^']+)';")
            utf8_decode = utf8_encode.replace("%",
                                              "\\").decode('unicode-escape')
            utf8 = utf8_decode
            #-------------------------------------
        #######################################################################
        ### at
        match_at = '<input name="at" id="text" value="([^"]+)">'
        at = scrapertools.get_match(utf8, match_at)

        ### m3u8
        page_url_hqq_2 = "http://hqq.tv/sec/player/embed_player.php?vid=" + new_id_video + "&at=" + at + "&autoplayed=yes&referer=on&http_referer=" + urlEncode + "&pass="******"]+"([^"]+)"'
        b_m3u8 = urllib.unquote(
            scrapertools.get_match(data_with_url_video, match_b_m3u8))

        match_b_m3u8_2 = '"#([^"]+)"'
        b_m3u8_2 = scrapertools.get_match(b_m3u8, match_b_m3u8_2)

        ### tb_m3u8
        j = 0
        s2 = ""
        while j < len(b_m3u8_2):
            s2 += "\\u0" + b_m3u8_2[j:(j + 3)]
            j += 3
        s2_m3u8 = s2.decode('unicode-escape')
        url_m3u8 = s2_m3u8.encode('ASCII', 'ignore')

        media_url = url_m3u8

    else:
        urlEncode = urllib.quote_plus(page_url.replace("netu", "hqq"))

        ### at
        id_video = page_url.split("=")[1]

        url_1 = "http://hqq.tv/player/embed_player.php?vid=?vid=" + id_video + "&autoplay=no"

        data = scrapertools.cache_page(url_1, headers=headers)

        match_b64_1 = 'base64,([^"]+)"'
        b64_1 = scrapertools.get_match(data, match_b64_1)

        utf8_1 = base64.decodestring(b64_1)

        match_b64_inv = "='([^']+)';"
        b64_inv = scrapertools.get_match(utf8_1, match_b64_inv)

        b64_2 = b64_inv[::-1]

        utf8_2 = base64.decodestring(b64_2).replace(
            "%", "\\").decode('unicode-escape')

        match_at = '<input name="at" id="text" value="([^"]+)">'
        at = scrapertools.get_match(utf8_2, match_at)

        ### m3u8
        url_2 = "http://hqq.tv/sec/player/embed_player.php?vid=" + id_video + "&at=" + at + "&autoplayed=yes&referer=on&http_referer=" + urlEncode + "&pass="******"]+"([^"]+)"'
        b_m3u8 = urllib.unquote(scrapertools.get_match(data, match_b_m3u8))

        if b_m3u8 == "undefined": b_m3u8 = urllib.unquote(data)

        match_b_m3u8_2 = '"#([^"]+)"'
        b_m3u8_2 = scrapertools.get_match(b_m3u8, match_b_m3u8_2)

        ### tb_m3u8
        j = 0
        s2 = ""
        while j < len(b_m3u8_2):
            s2 += "\\u0" + b_m3u8_2[j:(j + 3)]
            j += 3
        s2 = s2.decode('unicode-escape')

        media_url = s2.encode('ASCII', 'ignore')

    video_urls = []
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [netu.tv]",
        media_url
    ])

    for video_url in video_urls:
        logger.info("[netutv.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #47
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("url=" + page_url)

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    # logger.info("data="+data)

    logger.info("opcion 2")
    op = scrapertools.get_match(
        data, '<input type="hidden" name="op" value="([^"]+)"')
    logger.info("op=" + op)
    usr_login = ""
    id = scrapertools.get_match(
        data, '<input type="hidden" name="id" value="([^"]+)"')
    logger.info("id=" + id)
    fname = scrapertools.get_match(
        data, '<input type="hidden" name="fname" value="([^"]+)"')
    logger.info("fname=" + fname)
    referer = scrapertools.get_match(
        data, '<input type="hidden" name="referer" value="([^"]*)"')
    logger.info("referer=" + referer)
    hashstring = scrapertools.get_match(
        data, '<input type="hidden" name="hash" value="([^"]*)"')
    logger.info("hashstring=" + hashstring)
    imhuman = scrapertools.get_match(
        data, '<input type="submit".*?name="imhuman" value="([^"]+)"').replace(
            " ", "+")
    logger.info("imhuman=" + imhuman)

    import time
    time.sleep(10)

    # Lo pide una segunda vez, como si hubieras hecho click en el banner
    # op=download1&usr_login=&id=z3nnqbspjyne&fname=Coriolanus_DVDrip_Castellano_by_ARKONADA.avi&referer=&hash=nmnt74bh4dihf4zzkxfmw3ztykyfxb24&imhuman=Continue+to+Video
    # op=download1&usr_login=&id=h6gjvhiuqfsq&fname=GENES1S.avi&referer=&hash=taee4nbdgbuwuxfguju3t6nq2gkdzs6k&imhuman=Proceed+to+video
    post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&hash=" + hashstring + "&imhuman=" + imhuman
    headers.append(["Referer", page_url])
    body = scrapertools.cache_page(page_url, post=post, headers=headers)
    logger.info("body=" + body)

    data = scrapertools.find_single_match(
        body,
        "<script type='text/javascript'>(eval\(function\(p,a,c,k,e,d.*?)</script>"
    )
    logger.info("data=" + data)
    data = jsunpack.unpack(data)
    logger.info("data=" + data)

    # Extrae la URL
    # {label:"240p",file:"http://188.240.220.186/drjhpzy4lqqwws4phv3twywfxej5nwmi4nhxlriivuopt2pul3o4bkge5hxa/video.mp4"}
    video_urls = []
    media_urls = scrapertools.find_multiple_matches(
        data, '\{label\:"([^"]+)",file\:"([^"]+)"\}')
    video_urls = []
    for label, media_url in media_urls:
        video_urls.append([
            scrapertools.get_filename_from_url(media_url)[-4:] + " (" + label +
            ") [vidto.me]", media_url
        ])

    # <a id="lnk_download" href="http://188.240.220.186/drjhpzy4lqqwws4phv3twywfxej5nwmi4nhxlriivuopt2pul3oyvkoe5hxa/INT3NS4HDTS-L4T.mkv">
    media_url = scrapertools.find_single_match(
        body, '<a id="lnk_download" href="([^"]+)"')
    if media_url != "":
        video_urls.append([
            scrapertools.get_filename_from_url(media_url)[-4:] +
            " (ORIGINAL) [vidto.me]", media_url
        ])

    for video_url in video_urls:
        logger.info("%s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #48
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[netutv.py] url="+page_url)

    headers = [ ['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'] ]

    ## "/netu/tv/"
    if "www.yaske.net" in page_url:


        ## Encode a la url para pasarla como valor de parámetro
        urlEncode = urllib.quote_plus(page_url)

        ## Carga los datos
        id_video = scrapertools.get_match( page_url , "embed_([A-Za-z0-9]+)")
        data = scrapertools.cache_page( page_url , headers=headers )

        headers.append(['Referer', page_url])
        try:
            ## Nueva id del video
            page_url_the_new_video_id = scrapertools.get_match( data , 'script src="([^"]+)"></script>')
            data_with_new_video_id = scrapertools.cache_page( page_url_the_new_video_id , headers=headers )

            ## Algunos enlaces necesitan el paso pervio de la siguiente línea para coseguir la id
            data_with_new_video_id = urllib.unquote( data_with_new_video_id )
            new_id_video = scrapertools.get_match( data_with_new_video_id , "var vid='([^']+)';")

            ## Petición a hqq.tv con la nueva id de vídeo
            b64_data = get_b64_data(new_id_video, headers)

            ## Doble decode y escape
            utf8 = double_b64(b64_data)
        except:
            ## Recoge los datos
            b64_data = scrapertools.get_match( data , '<script language="javascript" type="text/javascript" src="data:text/javascript;charset=utf-8;base64,([^"]+)"></script>')

            ## Doble decode y escape
            utf8 = double_b64(b64_data)

            ## Nueva id del video
            new_id_video = scrapertools.get_match( utf8 , 'value="([^"]+)"')

            ## Petición a hqq.tv con la nueva id de vídeo y recoger los datos 
            b64_data = get_b64_data(new_id_video, headers)

            ## Doble decode y escape
            utf8 = double_b64(b64_data)

        ### at ###
        match_at = '<input name="at" id="text" value="([^"]+)">'
        at = scrapertools.get_match(utf8, match_at)

        ### m3u8 ###
        ## Recoger los bytes ofuscados que contiene la url del m3u8
        b_m3u8_2 = get_obfuscated( new_id_video, at, urlEncode, headers )

        ### tb_m3u8 ###
        ## Obtener la url del m3u8
        url_m3u8 = tb(b_m3u8_2)
    else:
        ## Encode a la url para pasarla como valor de parámetro con hqq como host
        urlEncode = urllib.quote_plus( page_url.replace("netu","hqq") )

        ### at ###
        id_video = page_url.split("=")[1]

        ## Petición a hqq.tv con la nueva id de vídeo y recoger los datos 
        b64_data = get_b64_data(id_video, headers)

        ## Doble decode y escape
        utf8 = double_b64(b64_data)
        
        match_at = '<input name="at" type="text" value="([^"]+)">'
        at = scrapertools.get_match(utf8, match_at)

        ### b_m3u8 ###
        headers.append(['Referer', page_url])

        ## Recoger los bytes ofuscados que contiene la url del m3u8
        b_m3u8_2 = get_obfuscated( id_video, at, urlEncode, headers )

        ### tb ###
        ## Obtener la url del m3u8
        url_m3u8 = tb(b_m3u8_2)

    ### m3u8 ###
    media_url = url_m3u8

    video_urls = []
    video_urls.append( [ scrapertools.get_filename_from_url(media_url)[-4:]+" [netu.tv]",media_url])

    for video_url in video_urls:
        logger.info("[netutv.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("pelisalacarta.servers.streaminto url=" + page_url)

    logger.info("### page_url-streaminto-find_videos : " + page_url)
    # Normaliza la URL
    try:
        if not page_url.startswith("http://streamin.to/embed-"):
            videoid = scrapertools.get_match(page_url,
                                             "streamin.to/([a-z0-9A-Z]+)")
            page_url = "http://streamin.to/embed-" + videoid + ".html"
    except:
        import traceback
        logger.info(traceback.format_exc())

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    #logger.info("data="+data)

    #file: "37/2640690613_n.flv?h=2ki7efbuztuzcg3h5gecfdpdy3es3m7wc5423nwgzsxybtapha4sna47txdq",
    #streamer: "rtmp://95.211.184.228:1935/vod?h=2ki7efbuztuzcg3h5gecfdpdy3es3m7wc5423nwgzsxybtapha4sna47txdq"
    #image: "http://95.211.184.228:8777/i/03/00130/p0uqfu1iecak.jpg"

    #http://95.211.184.228:8777/15/4045655336_n.flv?h=2ki7efbuztuzcg3h5gecfdpdy3es3m7wc5423nwgzsxybtapha447fe7txcq
    #15/4045655336_n.flv?h=
    #patron = ',\{file\: "([^"]+)"'
    patron_flv = 'file: "([^"]+)"'
    #patron_rtmp = 'streamer: "([^"]+)"'
    patron_jpg = 'image: "(http://[^/]+/)'

    #media_url = []
    try:
        host = scrapertools.get_match(data, patron_jpg)
        logger.info("pelisalacarta.servers.streaminto host=" + host)
        flv_url = scrapertools.get_match(data, patron_flv)
        logger.info("pelisalacarta.servers.streaminto flv_url=" + flv_url)
        flv = host + flv_url.split("=")[1] + "/v.flv"
        logger.info("pelisalacarta.servers.streaminto flv=" + flv)
        #rtmp = scrapertools.get_match(data, patron_rtmp)
    except:
        logger.info("pelisalacarta.servers.streaminto opcion 2")
        op = scrapertools.get_match(
            data, '<input type="hidden" name="op" value="([^"]+)"')
        logger.info("pelisalacarta.servers.streaminto op=" + op)
        usr_login = ""
        id = scrapertools.get_match(
            data, '<input type="hidden" name="id" value="([^"]+)"')
        logger.info("pelisalacarta.servers.streaminto id=" + id)
        fname = scrapertools.get_match(
            data, '<input type="hidden" name="fname" value="([^"]+)"')
        logger.info("pelisalacarta.servers.streaminto fname=" + fname)
        referer = scrapertools.get_match(
            data, '<input type="hidden" name="referer" value="([^"]*)"')
        logger.info("pelisalacarta.servers.streaminto referer=" + referer)
        hashstring = scrapertools.get_match(
            data, '<input type="hidden" name="hash" value="([^"]*)"')
        logger.info("pelisalacarta.servers.streaminto hashstring=" +
                    hashstring)
        imhuman = scrapertools.get_match(
            data,
            '<input type="submit" name="imhuman".*?value="([^"]+)"').replace(
                " ", "+")
        logger.info("pelisalacarta.servers.streaminto imhuman=" + imhuman)

        import time
        time.sleep(10)

        # Lo pide una segunda vez, como si hubieras hecho click en el banner
        #op=download1&usr_login=&id=z3nnqbspjyne&fname=Coriolanus_DVDrip_Castellano_by_ARKONADA.avi&referer=&hash=nmnt74bh4dihf4zzkxfmw3ztykyfxb24&imhuman=Continue+to+Video
        post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&hash=" + hashstring + "&imhuman=" + imhuman
        headers.append(["Referer", page_url])
        data = scrapertools.cache_page(page_url, post=post, headers=headers)
        logger.info("data=" + data)

        # Extrae la URL
        host = scrapertools.get_match(data, patron_jpg)
        flv = host + scrapertools.get_match(
            data, patron_flv).split("=")[1] + "/v.flv"
        #rtmp = scrapertools.get_match(data, patron_rtmp)

    video_urls = []
    video_urls.append(
        [scrapertools.get_filename_from_url(flv)[-4:] + " [streaminto]", flv])
    #video_urls.append( [ scrapertools.get_filename_from_url(rtmp)[-4:]+" [streaminto]",rtmp])

    for video_url in video_urls:
        logger.info("pelisalacarta.servers.streaminto %s - %s" %
                    (video_url[0], video_url[1]))

    return video_urls
Example #50
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("(page_url='%s')" % page_url)
    video_urls = []

    video_id = scrapertools.get_match(
        page_url, "http://www.nowvideo.../video/([a-z0-9]+)")

    if premium:
        # Lee la página de login
        login_url = "http://www.nowvideo.eu/login.php"
        data = httptools.downloadpage(login_url).data

        # Hace el login
        login_url = "http://www.nowvideo.eu/login.php?return="
        post = "user="******"&pass="******"&register=Login"
        headers = {"Referer": "http://www.nowvideo.eu/login.php"}
        data = httptools.downloadpage(login_url, post, headers=headers).data

        # Descarga la página del vídeo
        data = httptools.downloadpage(page_url).data

        # URL a invocar: http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        # En la página:
        '''
        flashvars.domain="http://www.nowvideo.eu";
        flashvars.file="rxnwy9ku2nwx7";
        flashvars.filekey="83.46.246.226-c7e707c6e20a730c563e349d2333e788";
        flashvars.advURL="0";
        flashvars.autoplay="false";
        flashvars.cid="1";
        flashvars.user="******";
        flashvars.key="bbb";
        flashvars.type="1";
        '''
        flashvar_file = scrapertools.get_match(data,
                                               'flashvars.file="([^"]+)"')
        flashvar_filekey = scrapertools.get_match(
            data, 'flashvars.filekey=([^;]+);')
        flashvar_filekey = scrapertools.get_match(
            data, 'var ' + flashvar_filekey + '="([^"]+)"')
        flashvar_user = scrapertools.get_match(data,
                                               'flashvars.user="******"]+)"')
        flashvar_key = scrapertools.get_match(data, 'flashvars.key="([^"]+)"')
        flashvar_type = scrapertools.get_match(data,
                                               'flashvars.type="([^"]+)"')

        # http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        url = "http://www.nowvideo.eu/api/player.api.php?user="******"&file=" + flashvar_file + "&pass="******"&cid=1&cid2=undefined&key=" + flashvar_filekey.replace(
            ".", "%2E").replace("-", "%2D") + "&cid3=undefined"
        data = httptools.downloadpage(url).data

        location = scrapertools.get_match(data, 'url=([^\&]+)&')
        location = location + "?client=FLASH"

        video_urls.append([
            scrapertools.get_filename_from_url(location)[-4:] +
            " [premium][nowvideo]", location
        ])
    else:
        url = page_url.replace("http://www.nowvideo.li/video/",
                               "http://embed.nowvideo.li/embed/?v=")
        data = httptools.downloadpage(url).data

        videourls = scrapertools.find_multiple_matches(
            data, 'src\s*:\s*[\'"]([^\'"]+)[\'"]')
        if not videourls:
            videourls = scrapertools.find_multiple_matches(
                data, '<source src=[\'"]([^\'"]+)[\'"]')
        for videourl in videourls:
            if videourl.endswith(".mpd"):
                id = scrapertools.find_single_match(videourl, '/dash/(.*?)/')
                videourl = "http://www.nowvideo.li/download.php%3Ffile=mm" + "%s.mp4" % id

            videourl = re.sub(r'/dl(\d)*/', '/dl/', videourl)
            ext = scrapertools.get_filename_from_url(videourl)[-4:]
            videourl = videourl.replace("%3F", "?") + \
                       "|User-Agent=Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
            video_urls.append([ext + " [nowvideo]", videourl])

    for video_url in video_urls:
        logger.info("%s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #51
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[moevideos.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []

    if page_url.startswith("http://www.moevideos.net/online"):
        headers = []
        headers.append([
            'User-Agent',
            'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
        ])
        data = scrapertools.cache_page(page_url, headers=headers)

        # Descarga el script (no sirve para nada, excepto las cookies)
        headers.append(['Referer', page_url])
        post = "id=1&enviar2=ver+video"
        data = scrapertools.cache_page(page_url, post=post, headers=headers)
        ### Modificado 12-6-2014
        #code = scrapertools.get_match(data,'flashvars\="file\=([^"]+)"')
        #<iframe width="860" height="440" src="http://moevideo.net/framevideo/16363.1856374b43bbd40c7f8d2b25b8e5?width=860&height=440" frameborder="0" allowfullscreen ></iframe>
        code = scrapertools.get_match(
            data,
            '<iframe width="860" height="440" src="http://moevideo.net/framevideo/([^\?]+)\?width=860\&height=440" frameborder="0" allowfullscreen ></iframe>'
        )
        logger.info("code=" + code)
    else:
        #http://moevideo.net/?page=video&uid=81492.8c7b6086f4942341aa1b78fb92df
        code = scrapertools.get_match(page_url, "uid=([a-z0-9\.]+)")

    # API de letitbit
    headers2 = []
    headers2.append([
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ])
    ### Modificado 12-6-2014
    url = "http://api.letitbit.net"
    #url = "http://api.moevideo.net"
    #post = "r=%5B%22tVL0gjqo5%22%2C%5B%22preview%2Fflv%5Fimage%22%2C%7B%22uid%22%3A%2272871%2E71f6541e64b0eda8da727a79424d%22%7D%5D%2C%5B%22preview%2Fflv%5Flink%22%2C%7B%22uid%22%3A%2272871%2E71f6541e64b0eda8da727a79424d%22%7D%5D%5D"
    #post = "r=%5B%22tVL0gjqo5%22%2C%5B%22preview%2Fflv%5Fimage%22%2C%7B%22uid%22%3A%2212110%2E1424270cc192f8856e07d5ba179d%22%7D%5D%2C%5B%22preview%2Fflv%5Flink%22%2C%7B%22uid%22%3A%2212110%2E1424270cc192f8856e07d5ba179d%22%7D%5D%5D
    #post = "r=%5B%22tVL0gjqo5%22%2C%5B%22preview%2Fflv%5Fimage%22%2C%7B%22uid%22%3A%2268653%2E669cbb12a3b9ebee43ce14425d9e%22%7D%5D%2C%5B%22preview%2Fflv%5Flink%22%2C%7B%22uid%22%3A%2268653%2E669cbb12a3b9ebee43ce14425d9e%22%7D%5D%5D"
    post = 'r=["tVL0gjqo5",["preview/flv_image",{"uid":"' + code + '"}],["preview/flv_link",{"uid":"' + code + '"}]]'
    data = scrapertools.cache_page(url, headers=headers2, post=post)
    logger.info("data=" + data)
    if ',"not_found"' in data:
        return []
    data = data.replace("\\", "")
    logger.info("data=" + data)
    patron = '"link"\:"([^"]+)"'
    matches = re.compile(patron, re.DOTALL).findall(data)
    video_url = matches[
        0] + "?ref=www.moevideos.net|User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:15.0) Gecko/20100101 Firefox/15.0.1&Range=bytes:0-"
    logger.info("[moevideos.py] video_url=" + video_url)

    video_urls = []
    video_urls.append([
        scrapertools.get_filename_from_url(video_url)[-4:] + " [moevideos]",
        video_url
    ])

    for video_url in video_urls:
        logger.info("[moevideos.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #52
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    #page_url='https://www.crunchyroll.com/es-es/one-piece/episode-891-climbing-up-a-waterfall-a-great-journey-through-the-land-of-wanos-sea-zone-786643'
    logger.info("url=" + page_url)
    video_urls = []

    data = httptools.downloadpage(page_url).data
    file_sub = ""
    try:

        idiomas = [
            'Deutsch', 'Português', 'Français', 'Italiano', 'English',
            'Español\]', 'Español \(España\)'
        ]
        index_sub = int(config.get_setting("crunchyrollsub", "crunchyroll"))
        idioma_sub = idiomas[index_sub]
        subs_list = eval(
            scrapertools.find_single_match(data, 'subtitles":(\[[^\]]+])'))
        for lang in subs_list:
            if idioma_sub[:3] in lang["title"]:
                sub_data = httptools.downloadpage(
                    urllib.unquote(lang["url"]).replace("\\", "")).data
                file_sub = filetools.join(config.get_data_path(),
                                          'crunchyroll_sub.ass')
                filetools.write(file_sub, sub_data)
    except:
        import traceback
        logger.error(traceback.format_exc())
        file_sub = ""

    if "crunchyroll.com" in page_url:
        media_id = page_url.rsplit("-", 1)[1]
    else:
        media_id = scrapertools.find_single_match(page_url, 'media_id=(\d+)')
    url = "https://www.crunchyroll.com/xml/?req=RpcApiVideoPlayer_GetStandardConfig&media_id=%s" \
          "&video_format=0&video_quality=0&auto_play=0&aff=af-12299-plwa" % media_id
    post = "current_page=%s" % page_url
    data = httptools.downloadpage(url, post=post, headers=GLOBAL_HEADER).data

    if "<msg>Media not available</msg>" in data or "flash_block.png" in data:
        httptools.downloadpage(proxy_i)
        url = urllib.quote(url)
        get = '%sbrowse.php?u=%s&b=4' % (proxy, url)
        data = httptools.downloadpage(get, post=post,
                                      headers=GLOBAL_HEADER).data
    media_url = scrapertools.find_single_match(data,
                                               '<file>(.*?)</file>').replace(
                                                   "&amp;", "&")
    if not media_url:
        return video_urls
    elif not media_url.startswith("http"):
        rtmp = scrapertools.find_single_match(data,
                                              '<host>(.*?)</host>').replace(
                                                  "&amp;", "&")
        media_url = rtmp + " playpath=%s" % media_url
        filename = "RTMP"
    else:
        filename = scrapertools.get_filename_from_url(media_url)[-4:]
    quality = scrapertools.find_single_match(data, '<height>(.*?)</height>')
    # try:
    #     #idiomas = ['Español \(España\)', 'Español\]', 'English', 'Italiano', 'Français', 'Português', 'Deutsch']
    #     idiomas = ['Deutsch', 'Português', 'Français', 'Italiano', 'English', 'Español\]', 'Español \(España\)']
    #     index_sub = int(config.get_setting("crunchyrollsub", "crunchyroll"))
    #     idioma_sub = idiomas[index_sub]
    #
    #     link_sub = scrapertools.find_single_match(data, "link='([^']+)' title='\[%s" % idioma_sub)
    #     if not link_sub and index_sub == 6:
    #         link_sub = scrapertools.find_single_match(data, "link='([^']+)' title='\[Español\]")
    #     elif not link_sub and index_sub == 5:
    #         link_sub = scrapertools.find_single_match(data, "link='([^']+)' title='\[Español \(España\)")
    #     if not link_sub:
    #         link_sub = scrapertools.find_single_match(data, "link='([^']+)' title='\[English")
    #     data_sub = httptools.downloadpage(link_sub.replace("&amp;", "&"), headers=GLOBAL_HEADER).data
    #     id_sub = scrapertools.find_single_match(data_sub, "subtitle id='([^']+)'")
    #     iv = scrapertools.find_single_match(data_sub, '<iv>(.*?)</iv>')
    #     data_sub = scrapertools.find_single_match(data_sub, '<data>(.*?)</data>')
    #     file_sub = decrypt_subs(iv, data_sub, id_sub)
    # except:
    #     import traceback
    #     logger.error(traceback.format_exc())
    #     file_sub = ""
    video_urls.append([
        "%s  %sp [crunchyroll]" % (filename, quality), media_url, 0, file_sub
    ])
    for video_url in video_urls:
        logger.info("%s - %s" % (video_url[0], video_url[1]))
    return video_urls
Example #53
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info(" url=" + page_url)

    if "hash=" in page_url:
        data = urllib.unquote(httptools.downloadpage(page_url).data)
        id_video = scrapertools.find_single_match(data, "vid\s*=\s*'([^']+)'")
    else:
        id_video = page_url.rsplit("=", 1)[1]
    page_url_hqq = "http://hqq.tv/player/embed_player.php?vid=%s&autoplay=no" % id_video
    data_page_url_hqq = httptools.downloadpage(page_url_hqq,
                                               add_referer=True).data

    js_wise = scrapertools.find_single_match(
        data_page_url_hqq,
        "<script type=[\"']text/javascript[\"']>\s*;?(eval.*?)</script>")
    data_unwise = jswise(js_wise).replace("\\", "")
    at = scrapertools.find_single_match(data_unwise, 'var at\s*=\s*"([^"]+)"')

    url = "http://hqq.tv/sec/player/embed_player.php?iss=&vid=%s&at=%s&autoplayed=yes&referer=on" \
          "&http_referer=&pass=&embed_from=&need_captcha=0" % (id_video, at)
    data_player = httptools.downloadpage(url, add_referer=True).data
    data_unescape = scrapertools.find_multiple_matches(
        data_player, 'document.write\(unescape\("([^"]+)"')
    data = ""
    for d in data_unescape:
        data += urllib.unquote(d)

    data_unwise_player = ""
    js_wise = scrapertools.find_single_match(
        data_player,
        "<script type=[\"']text/javascript[\"']>\s*;?(eval.*?)</script>")
    if js_wise:
        data_unwise_player = jswise(js_wise).replace("\\", "")
    vars_data = scrapertools.find_single_match(
        data, '/player/get_md5.php",\s*\{(.*?)\}')
    matches = scrapertools.find_multiple_matches(vars_data,
                                                 '\s*([^:]+):\s*([^,]*)[,"]')
    params = {}
    for key, value in matches:
        if key == "adb":
            params[key] = "0/"
        elif '"' in value:
            params[key] = value.replace('"', '')
        else:
            value_var = scrapertools.find_single_match(
                data, 'var\s*%s\s*=\s*"([^"]+)"' % value)
            if not value_var and data_unwise_player:
                value_var = scrapertools.find_single_match(
                    data_unwise_player, 'var\s*%s\s*=\s*"([^"]+)"' % value)
            params[key] = value_var

    params = urllib.urlencode(params)
    head = {'X-Requested-With': 'XMLHttpRequest', 'Referer': url}
    data = httptools.downloadpage("http://hqq.tv/player/get_md5.php?" + params,
                                  headers=head).data

    media_urls = []
    url_data = jsontools.load_json(data)
    media_url = tb(url_data["html5_file"].replace("#", ""))

    video_urls = []
    media = media_url + "|User-Agent=Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X)"
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [netu.tv]",
        media
    ])

    for video_url in video_urls:
        logger.info(" %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #54
0
def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[nowvideo.py] get_video_url(page_url='%s')" % page_url)
    video_urls = []
    
    video_id = scrapertools.get_match(page_url,"http://www.nowvideo.../video/([a-z0-9]+)")

    if premium:
        # Lee la página de login
        login_url = "http://www.nowvideo.eu/login.php"
        data = scrapertools.cache_page( login_url )

        # Hace el login
        login_url = "http://www.nowvideo.eu/login.php?return="
        post = "user="******"&pass="******"&register=Login"
        headers=[]
        headers.append(["User-Agent",USER_AGENT])
        headers.append(["Referer","http://www.nowvideo.eu/login.php"])
        data = scrapertools.cache_page( login_url , post=post, headers=headers )

        # Descarga la página del vídeo 
        data = scrapertools.cache_page( page_url )
        logger.debug("data:" + data)
        
        # URL a invocar: http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        # En la página:
        '''
        flashvars.domain="http://www.nowvideo.eu";
        flashvars.file="rxnwy9ku2nwx7";
        flashvars.filekey="83.46.246.226-c7e707c6e20a730c563e349d2333e788";
        flashvars.advURL="0";
        flashvars.autoplay="false";
        flashvars.cid="1";
        flashvars.user="******";
        flashvars.key="bbb";
        flashvars.type="1";
        '''
        flashvar_file = scrapertools.get_match(data,'flashvars.file="([^"]+)"')
        flashvar_filekey = scrapertools.get_match(data,'flashvars.filekey=([^;]+);')
        flashvar_filekey = scrapertools.get_match(data,'var '+flashvar_filekey+'="([^"]+)"')
        flashvar_user = scrapertools.get_match(data,'flashvars.user="******"]+)"')
        flashvar_key = scrapertools.get_match(data,'flashvars.key="([^"]+)"')
        flashvar_type = scrapertools.get_match(data,'flashvars.type="([^"]+)"')

        #http://www.nowvideo.eu/api/player.api.php?user=aaa&file=rxnwy9ku2nwx7&pass=bbb&cid=1&cid2=undefined&key=83%2E46%2E246%2E226%2Dc7e707c6e20a730c563e349d2333e788&cid3=undefined
        url = "http://www.nowvideo.eu/api/player.api.php?user="******"&file="+flashvar_file+"&pass="******"&cid=1&cid2=undefined&key="+flashvar_filekey.replace(".","%2E").replace("-","%2D")+"&cid3=undefined"
        data = scrapertools.cache_page( url )
        logger.info("data="+data)
        
        location = scrapertools.get_match(data,'url=([^\&]+)&')
        location = location + "?client=FLASH"

        video_urls.append( [ scrapertools.get_filename_from_url(location)[-4:] + " [premium][nowvideo]",location ] )
    else:
        # http://www.nowvideo.sx/video/xuntu4pfq0qye
        url = page_url.replace("http://www.nowvideo.sx/video/", "http://embed.nowvideo.sx/embed/?v=")
        data = scrapertools.cache_page(url)
        logger.debug("data="+data)

        videourl = scrapertools.find_single_match(data, '<source src="([^"]+)"')
        if not videourl:
            data = scrapertools.cache_page(page_url)
            stepkey = scrapertools.find_single_match( data , '<input type="hidden" name="stepkey" value="([^"]+)"' )
            if stepkey!="":
                #stepkey=6cd619a0cea72a1cb45a56167c296716&submit=submit
                #<form method="post" action="">
                #<input type="hidden" name="stepkey" value="6cd619a0cea72a1cb45a56167c296716"><Br>
                #<button type="submit" name="submit" class="btn" value="submit">Continue to the video</button>
                data = scrapertools.cache_page( page_url , post="stepkey="+stepkey+"&submit=submit" )
            videourl = scrapertools.find_single_match(data, '<source src="([^"]+)"')
            if not videourl:
                flashvar_filekey = scrapertools.get_match(data,'flashvars.filekey=([^;]+);')
                filekey = scrapertools.get_match(data,'var '+flashvar_filekey+'="([^"]+)"')

                '''
                data = unwise.unwise_process(data)
                logger.debug("data="+data)

                filekey = unwise.resolve_var(data, "flashvars.filekey")
                '''
                logger.debug("filekey="+filekey)
                
                #get stream url from api
                url = 'http://www.nowvideo.sx/api/player.api.php?key=%s&file=%s' % (filekey, video_id)
                data = scrapertools.cache_page(url).replace("flv&","flv?")
                videourl = re.sub(r"^url=","",data)
                logger.debug("data="+videourl)
                '''
                location = scrapertools.get_match(data,'url=(.+?)&title')

                mobile="http://www.nowvideo.at/mobile/video.php?id="+ video_id+"&download=2"
                data = scrapertools.cache_page(mobile)
                location = scrapertools.get_match(data,'<source src="([^"]+)" type="video/flv">')
                video_urls.append( [ "[nowvideo]",location ] )
                '''

        video_urls.append( [ scrapertools.get_filename_from_url(videourl)[-4:]+" [nowvideo]", videourl+"|User-Agent=Mozilla/5.0" ] )

    for video_url in video_urls:
        logger.info("[nowvideo.py] %s - %s" % (video_url[0],video_url[1]))

    return video_urls
Example #55
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("pelisalacarta.powvideo get_video_url(page_url='%s')" %
                page_url)

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    #logger.info("data="+data)

    try:
        '''
        <input type="hidden" name="op" value="download1">
        <input type="hidden" name="usr_login" value="">
        <input type="hidden" name="id" value="auoxxtvyquoy">
        <input type="hidden" name="fname" value="Star.Trek.Into.Darkness.2013.HD.m720p.LAT.avi">
        <input type="hidden" name="referer" value="">
        <input type="hidden" name="hash" value="1624-83-46-1377796069-b5e6b8f9759d080a3667adad637f00ac">
        <input type="submit" name="imhuman" value="Continue to Video" id="btn_download">
        '''
        op = scrapertools.get_match(
            data, '<input type="hidden" name="op" value="(down[^"]+)"')
        usr_login = ""
        id = scrapertools.get_match(
            data, '<input type="hidden" name="id" value="([^"]+)"')
        fname = scrapertools.get_match(
            data, '<input type="hidden" name="fname" value="([^"]+)"')
        referer = scrapertools.get_match(
            data, '<input type="hidden" name="referer" value="([^"]*)"')
        hashvalue = scrapertools.get_match(
            data, '<input type="hidden" name="hash" value="([^"]*)"')
        submitbutton = scrapertools.get_match(
            data,
            '<input type="submit" name="imhuman" value="([^"]+)"').replace(
                " ", "+")

        import time
        time.sleep(5)

        # Lo pide una segunda vez, como si hubieras hecho click en el banner
        #op=download1&usr_login=&id=auoxxtvyquoy&fname=Star.Trek.Into.Darkness.2013.HD.m720p.LAT.avi&referer=&hash=1624-83-46-1377796019-c2b422f91da55d12737567a14ea3dffe&imhuman=Continue+to+Video
        #op=search&usr_login=&id=auoxxtvyquoy&fname=Star.Trek.Into.Darkness.2013.HD.m720p.LAT.avi&referer=&hash=1624-83-46-1377796398-8020e5629f50ff2d7b7de99b55bdb177&imhuman=Continue+to+Video
        post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&hash=" + hashvalue + "&imhuman=" + submitbutton
        headers.append(["Referer", page_url])
        data = scrapertools.cache_page(page_url, post=post, headers=headers)
        #logger.info("data="+data)
    except:
        import traceback
        traceback.print_exc()

    # Extrae la URL
    logger.info("data=" + data)
    data = scrapertools.find_single_match(
        data, "<script type='text/javascript'>(.*?)</script>")
    logger.info("data=" + data)
    data = jsunpack.unpack(data)
    logger.info("data=" + data)
    data = data.replace("\\", "")

    media_url = scrapertools.find_single_match(data, "file:'([^']+)'")
    video_urls = []
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [powvideo]",
        media_url
    ])

    for video_url in video_urls:
        logger.info("[powvideo.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #56
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("(page_url='%s')" % page_url)
    data = httptools.downloadpage(page_url).data

    jj_encode = scrapertools.find_single_match(data,
                                               "(\w+=~\[\];.*?\)\(\)\)\(\);)")
    jj_decode = None
    jj_patron = None
    reverse = False
    splice = False
    if jj_encode:
        jj_decode = jjdecode(jj_encode)
    if jj_decode:
        jj_patron = scrapertools.find_single_match(jj_decode, "/([^/]+)/")
        if "(" not in jj_patron: jj_patron = "(" + jj_patron
        if ")" not in jj_patron: jj_patron += ")"

        jhex_decode = jhexdecode(jj_decode)
        if "reverse" in jhex_decode: reverse = True
        if "splice" in jhex_decode: splice = True

    matches = scrapertools.find_single_match(
        data, "<script type=[\"']text/javascript[\"']>(eval.*?)</script>")
    data = jsunpack.unpack(matches).replace("\\", "")

    data = scrapertools.find_single_match(data.replace('"', "'"),
                                          "sources\s*=[^\[]*\[([^\]]+)\]")
    matches = scrapertools.find_multiple_matches(data, "[src|file]:'([^']+)'")
    video_urls = []
    for video_url in matches:
        _hash = scrapertools.find_single_match(video_url, '\w{40,}')
        if splice:
            splice = eval(
                scrapertools.find_single_match(jj_decode, "\((\d[^,]*),\d\);"))
            if reverse:
                h = list(_hash)
                h.pop(-splice - 1)
                _hash = "".join(h)
            else:
                h = list(_hash)
                h.pop(splice)
                _hash = "".join(h)

        if reverse:
            video_url = re.sub(r'\w{40,}', _hash[::-1], video_url)
        filename = scrapertools.get_filename_from_url(video_url)[-4:]
        if video_url.startswith("rtmp"):
            rtmp, playpath = video_url.split("vod/", 1)
            video_url = "%s playpath=%s swfUrl=%splayer6/jwplayer.flash.swf pageUrl=%s" % (
                rtmp + "vod/", playpath, host, page_url)
            filename = "RTMP"
        elif video_url.endswith(".m3u8"):
            video_url += "|User-Agent=" + headers[0][1]
        elif video_url.endswith("/v.mp4"):
            video_url_flv = re.sub(r'/v.mp4$', '/v.flv', video_url)
            video_urls.append([
                ".flv [streamplay]",
                re.sub(r'%s' % jj_patron, r'\1', video_url_flv)
            ])

        video_urls.append([
            filename + " [streamplay]",
            re.sub(r'%s' % jj_patron, r'\1', video_url)
        ])

    video_urls.sort(key=lambda x: x[0], reverse=True)
    for video_url in video_urls:
        logger.info(" %s - %s" % (video_url[0], video_url[1]))

    return video_urls
Example #57
0
File: cntv.py Project: ruwix/TVWeb
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("tvalacarta.servers.cntv get_video_url(page_url='%s')" %
                page_url)

    data = scrapertools.cache_page(page_url)
    video_id = scrapertools.find_single_match(data,
                                              '"videoCenterId","([a-z0-9]+)"')
    logger.info("tvalacarta.servers.cntv video_id=" + video_id)

    # Formato noticias
    if video_id != "":
        metadata_url = "http://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=" + video_id + "&tz=-1&from=000spanish&url=" + page_url + "&idl=32&idlr=32&modifyed=false"
        data = scrapertools.cache_page(metadata_url)
        logger.info(data)

        video_url = scrapertools.find_single_match(data,
                                                   '"hls_url"\:"([^"]+)"')
        logger.info("video_url=" + video_url)

    # Formato programas
    else:
        video_id = scrapertools.find_single_match(data,
                                                  '"videoCenterId","(.*?)"')
        video_url = "http://asp.v.cntv.cn/hls/" + matches[0] + "/main.m3u8"

    video_urls = []
    if video_url.endswith(".m3u8"):
        '''
        #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=204800, RESOLUTION=240x180
        /asp/hls/200/0303000a/3/default/269599f209024eb482ac0b12b1861d31/200.m3u8
        '''
        data_calidades = scrapertools.cache_page(video_url)
        patron_calidades = "BANDWIDTH=(\d+), RESOLUTION=([a-z0-9]+)\s*(.*?.m3u8)"
        matches = re.compile(patron_calidades,
                             re.DOTALL).findall(data_calidades)

        if len(matches) > 0:
            for bitrate, resolucion, calidad_url in matches:
                esta_url = urlparse.urljoin(video_url, calidad_url)
                try:
                    kb = " " + str(int(bitrate) / 1024) + "Kbps "
                except:
                    kb = ""
                video_urls.append([
                    resolucion + kb + '(' +
                    scrapertools.get_filename_from_url(esta_url)[-4:] +
                    ') [cntv]', esta_url
                ])
        else:
            video_urls.append([
                '(' + scrapertools.get_filename_from_url(video_url)[-4:] +
                ') [cntv]', video_url
            ])

    else:
        video_urls.append([
            '(' + scrapertools.get_filename_from_url(video_url)[-4:] +
            ') [cntv]', video_url
        ])

    for video_url in video_urls:
        logger.info("tvalacarta.servers.cntv %s - %s" %
                    (video_url[0], video_url[1]))

    return video_urls
Example #58
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("url=" + page_url)
    video_urls = []
    if "crunchyroll.com" in page_url:
        media_id = page_url.rsplit("-", 1)[1]
    else:
        media_id = scrapertools.find_single_match(page_url, 'media_id=(\d+)')
    url = "https://www.crunchyroll.com/xml/?req=RpcApiVideoPlayer_GetStandardConfig&media_id=%s" \
          "&video_format=0&video_quality=0&auto_play=0&aff=af-12299-plwa" % media_id
    post = "current_page=%s" % page_url
    data = httptools.downloadpage(url, post, headers=GLOBAL_HEADER).data
    if "<msg>Media not available</msg>" in data or "flash_block.png" in data:
        data = httptools.downloadpage(proxy + url,
                                      post,
                                      headers=GLOBAL_HEADER,
                                      cookies=False).data
    media_url = scrapertools.find_single_match(data,
                                               '<file>(.*?)</file>').replace(
                                                   "&amp;", "&")
    if not media_url:
        return video_urls
    elif not media_url.startswith("http"):
        rtmp = scrapertools.find_single_match(data,
                                              '<host>(.*?)</host>').replace(
                                                  "&amp;", "&")
        media_url = rtmp + " playpath=%s" % media_url
        filename = "RTMP"
    else:
        filename = scrapertools.get_filename_from_url(media_url)[-4:]
    quality = scrapertools.find_single_match(data, '<height>(.*?)</height>')
    try:
        idiomas = [
            'Español \(España\)', 'Español\]', 'English', 'Italiano',
            'Français', 'Português', 'Deutsch'
        ]
        index_sub = int(config.get_setting("sub", server="crunchyroll"))
        idioma_sub = idiomas[index_sub]
        link_sub = scrapertools.find_single_match(
            data, "link='([^']+)' title='\[%s" % idioma_sub)
        if not link_sub and index_sub == 0:
            link_sub = scrapertools.find_single_match(
                data, "link='([^']+)' title='\[Español\]")
        elif not link_sub and index_sub == 1:
            link_sub = scrapertools.find_single_match(
                data, "link='([^']+)' title='\[Español \(España\)")
        if not link_sub:
            link_sub = scrapertools.find_single_match(
                data, "link='([^']+)' title='\[English")
        data_sub = httptools.downloadpage(link_sub.replace("&amp;", "&"),
                                          headers=GLOBAL_HEADER).data
        id_sub = scrapertools.find_single_match(data_sub,
                                                "subtitle id='([^']+)'")
        iv = scrapertools.find_single_match(data_sub, '<iv>(.*?)</iv>')
        data_sub = scrapertools.find_single_match(data_sub,
                                                  '<data>(.*?)</data>')
        file_sub = decrypt_subs(iv, data_sub, id_sub)
    except:
        import traceback
        logger.error(traceback.format_exc())
        file_sub = ""
    video_urls.append([
        "%s  %sp [crunchyroll]" % (filename, quality), media_url, 0, file_sub
    ])
    for video_url in video_urls:
        logger.info("%s - %s" % (video_url[0], video_url[1]))
    return video_urls
Example #59
0
def get_video_url(page_url,
                  premium=False,
                  user="",
                  password="",
                  video_password=""):
    logger.info("[allmyvideos.py] url=" + page_url)

    # Lo pide una vez
    headers = [[
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'
    ]]
    data = scrapertools.cache_page(page_url, headers=headers)
    logger.info("data=" + data)

    try:
        '''
        <input type="hidden" name="op" value="download1">
        <input type="hidden" name="usr_login" value="">
        <input type="hidden" name="id" value="d6fefkzvjc1z">
        <input type="hidden" name="fname" value="coriolanus.dvdr.mp4">
        <input type="hidden" name="referer" value="">
        <input type="hidden" name="method_free" value="1">
        <input type="image"  id="submitButton" src="/images/continue-to-video.png" value="method_free" />
        '''
        op = scrapertools.get_match(
            data, '<input type="hidden" name="op" value="([^"]+)"')
        usr_login = ""
        id = scrapertools.get_match(
            data, '<input type="hidden" name="id" value="([^"]+)"')
        fname = scrapertools.get_match(
            data, '<input type="hidden" name="fname" value="([^"]+)"')
        referer = scrapertools.get_match(
            data, '<input type="hidden" name="referer" value="([^"]*)"')
        method_free = scrapertools.get_match(
            data, '<input type="hidden" name="method_free" value="([^"]*)"')
        submitbutton = scrapertools.get_match(
            data, '<input type="image"  id="submitButton".*?value="([^"]+)"'
        ).replace(" ", "+")

        import time
        time.sleep(10)

        # Lo pide una segunda vez, como si hubieras hecho click en el banner
        #op=download1&usr_login=&id=d6fefkzvjc1z&fname=coriolanus.dvdr.mp4&referer=&method_free=1&x=109&y=17
        post = "op=" + op + "&usr_login="******"&id=" + id + "&fname=" + fname + "&referer=" + referer + "&method_free=" + method_free + "&x=109&y=17"
        headers.append(["Referer", page_url])
        data = scrapertools.cache_page(page_url, post=post, headers=headers)
        logger.info("data=" + data)
    except:
        pass

    # Extrae la URL
    media_url = scrapertools.get_match(data,
                                       '"file"\s*\:\s*"([^"]+)"') + "?start=0"

    video_urls = []
    video_urls.append([
        scrapertools.get_filename_from_url(media_url)[-4:] + " [allmyvideos]",
        media_url
    ])

    for video_url in video_urls:
        logger.info("[allmyvideos.py] %s - %s" % (video_url[0], video_url[1]))

    return video_urls