Página 2 de 2

Re: Canal Anime-Latino

Publicado: 15 Sep 2015, 12:33
por robalo
No te quería pegar nada aún pero me tengo que ir y veo estás trabajando ahora en ello, creo que te estás basondo en okru :)
Ahí va como lo tengo ahora, me he dejao una nota para seguir más tarde

Código: Seleccionar todo

# -*- coding: utf-8 -*-
#------------------------------------------------------------
# pelisalacarta - XBMC Plugin
# Conector para myvi.ru
# http://blog.tvalacarta.info/plugin-xbmc/pelisalacarta/
#------------------------------------------------------------

import urlparse,urllib2,urllib,re
import os

from core import scrapertools
from core import logger
from core import config
from core import jsontools

headers = [
    ['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0'],
    ['Accept-Encoding', 'gzip, deflate'],
    ['Connection', 'keep-alive']
]

def get_video_url( page_url , premium = False , user="" , password="", video_password="" ):
    logger.info("[myvi.py] get_video_url(page_url='%s')" % (page_url))

    video_urls = []

    data = scrapertools.cache_page(page_url)

    if "/watch/" in page_url:
        ## Carga los nuevos datos de la nueva url

        # <iframe width="100%" height="100%"  src="//myvi.ru/player/embed/html/ofhCSghdp-o_Kd6NUCNMQ79q2MBCQoNzmd1ntxNcn2tmV6QuzJtAPAgldLx82Vsd_0" frameborder="0" allowfullscreen></iframe>
        #url = "http:" + scrapertools.get_match(data,'<iframe width="100%" height="100%"  src="([^"]+)" frameborder="0" allowfullscreen></iframe>')

        #<meta property="og:video:iframe" content="//myvi.ru/player/embed/html/ofhCSghdp-o_Kd6NUCNMQ79q2MBCQoNzmd1ntxNcn2tkbZ7yHdLfYFGnBuIG1BByc0" />
        url = "http:" + scrapertools.get_match(data,'<meta property="og:video:iframe" content="([^"]+)" />')

        print "##### myviru url: %s" % url

        data = scrapertools.cache_page(url)

    print "##### myviru page_url: %s" % page_url

    sprutoData = jsontools.load_json(scrapertools.get_match(data,'sprutoData:(.*?)fixCrossDomainCookieUrl:').strip()[:-1])
    print "##### myviru sprutoData: %s" % sprutoData
    print "##### myviru sprutoData['playlist'][0]['video'][0]['url']: %s" % sprutoData['playlist'][0]['video'][0]['url']
    media_url = scrapertools.get_header_from_response(
        sprutoData['playlist'][0]['video'][0]['url'],
        header_to_get="location"
    )
    print "##### myviru media_url: %s" % media_url

    ##### probar pasar Cookies con el el headers en condiciones #####
    media_url+= "|Referer=" + sprutoData['playlist'][0]['video'][0]['url']

    video_urls.append( [ ".mp4" + " [myvi.py]", media_url ] )

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

    return video_urls

# Encuentra vídeos del servidor en el texto pasado
def find_videos(data):
    logger.info("[myvi.py] find_videos") #(data='%s')" % (data))
    encontrados = set()
    devuelve = []

    # http://www.myvi.ru/watch/09252027098_gIc8TuqTFUCwDEtUnMvuIA2
    patronvideos  = 'myvi.ru/watch/([a-zA-Z0-9_]+)'
    logger.info("[myvi.py] find_videos #"+patronvideos+"#")
    matches = re.compile(patronvideos,re.DOTALL).findall(data)

    for match in matches:
        titulo = "[myvi.ru]"
        url = "http://www.myvi.ru/watch/" + match
        if url not in encontrados:
            logger.info("  url="+url)
            devuelve.append( [ titulo , url , 'myviru' ] )
            encontrados.add(url)
        else:
            logger.info("  url duplicada="+url)

    # http://myvi.ru/player/embed/html/ofhCSghdp-o_Kd6NUCNMQ79q2MBCQoNzmd1ntxNcn2tmcEgXtManU-1lFNYJu-Bp10
    patronvideos  = 'myvi.ru/player/embed/html/([a-zA-Z0-9_-]+)'
    logger.info("[myvi.py] find_videos #"+patronvideos+"#")
    matches = re.compile(patronvideos,re.DOTALL).findall(data)

    for match in matches:
        titulo = "[myvi.ru]"
        url = "http://myvi.ru/player/embed/html/" + match
        if url not in encontrados:
            logger.info("  url="+url)
            devuelve.append( [ titulo , url , 'myviru' ] )
            encontrados.add(url)
        else:
            logger.info("  url duplicada="+url)

    return devuelve

Re: Canal Anime-Latino

Publicado: 15 Sep 2015, 14:03
por kampanita
Si, en realidad creo que ya lo tengo...., al menos, aqui con datos "estáticos" creo que va.
Es una putada gorda esto de estar offline


Lo voy a ir dejando por el git en uno de mis branches.
https://github.com/kampanita/pelisalaca ... /myviru.py

Seguro que lo has resuelto mejor que yo :), ahora le he echo una mirada a tu código... que ya veo que tu has optado por resolver el json como dios manda, yo he optado por ir más a lo bruto.

Si, yo me he basado en okru.py y he ido por pura intuición mirando que es lo que #$$%&~~ se pretendía hacer... en otro hilo he estado preguntando porque estoy más verde que los botones del foro.