
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