En primer lugar deberías de llamar al canal con el mismo nombre que la web y segundo que tienes que poner un mínimo de tu parte como ver el código fuente de la página y localizar los datos que quieres extraer.
Te voy a poner un mínimo del algo que funciona. Espero ver algún avance o intentos frustados con fundamentos que no se ven dónde están los errores ya te lo pongan en mayúsculas y parpadeando
estrenosdecineonline.py
Código: Seleccionar todo
# -*- coding: utf-8 -*-
#------------------------------------------------------------
# pelisalacarta - XBMC Plugin
# Canal para estrenosdecineonline
# http://blog.tvalacarta.info/plugin-xbmc/pelisalacarta/
#------------------------------------------------------------
import urlparse,urllib2,urllib,re
import os, sys
from core import logger
from core import config
from core import scrapertools
from core.item import Item
from servers import servertools
__channel__ = "estrenosdecineonline"
__category__ = "F"
__type__ = "generic"
__title__ = "estrenosdecineonline"
__language__ = "ES"
__creationdate__ = "20141008"
def isGeneric():
return True
def mainlist(item):
logger.info("channels.estrenosdecineonline mainlist")
itemlist = []
itemlist.append( Item(channel=__channel__, title="Estrenos", action="peliculas", url="http://www.estrenosdecineonline.com/category/estrenos-2014/"))
return itemlist
def peliculas(item):
logger.info("channels.estrenosdecineonline peliculas")
itemlist = []
## Descarga la página y elimina todos los saltos de línea, retornos del carro, tabuladores, y ' online'
data = scrapertools.cache_page(item.url)
data = re.sub(r"\n|\r|\t|\s{3}|\s{2}|\sonline","",data)
## Reemplaza '…' por "..."
data = re.sub(r"…","...",data)
## Extrae las entradas de la pagina seleccionada
#<div class="poster marco-sinopsis"><a href="http://www.estrenosdecineonline.com/monsters-vs-aliens-creature-features-2014-online/"><img src="http://www.estrenosdecineonline.com/wp-content/uploads/2014/10/Monsters_Vs_Aliens_Creature_Features_poster-230x300.jpg" alt="Monsters Vs. Aliens: Creature Features (2014)" width="130" height="200" /></a><div class="sinopsis texto"><h3>Monsters Vs. Aliens: Creature Features (2014)</h3> <p>Los miembros del equipo Monster – Susan, Link, el Dr. Cockroach, pH.d. y B.O.B. (blob gelatinoso) – tienen que ir en contra de espeluznantes alienígenas, zombis hambrientos e incluso un...</p>
patron = '<div class="poster marco-sinopsis">' # Empezamos el patrón por aquí para que no se cuele nada raro
patron+= '<a href="([^"]+)">' # scrapedurl
patron+= '<img src="([^"]+)".*?' # scrapedthumbnail
patron+= '<h3>([^<]+)</h3>' # scrapedtitle
patron+= '<p>([^<]+)</p>' # scrapedplot
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedplot in matches:
## Añade al listado
itemlist.append( Item(channel=__channel__, action="findvideos", title=scrapedtitle, fulltitle=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot, folder=True) )
## Painación
#<a href='http://www.estrenosdecineonline.com/category/estrenos-2014/page/2/' class='nextpostslink'>»Siguiente</a>
## Si hay enlace para '»Siguiente' añadir ">> Página siguiente" a la lista
if "class='nextpostslink'" in data:
scrapedurl = scrapertools.get_match(data,"<a href='([^']+)' class='nextpostslink'>")
itemlist.append( Item(channel=__channel__, title=">> Página siguiente", url=scrapedurl, action="peliculas", folder=True) )
return itemlist
def findvideos(item):
logger.info("channels.estrenosdecineonline videos")
itemlist = []
## Descarga la página
data = scrapertools.cache_page(item.url)
## Busca los videos incustrados de la página
#<iframe src="http://vk.com/video_ext.php?oid=219591128&id=169820874&hash=baa6946a23afc82f&sd" height
patron = '<iframe.*?src="([^"]+)" height'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl in matches:
scrapedtitle = servertools.get_server_from_url(scrapedurl)
if scrapedtitle != "directo":
itemlist.append( Item(channel=__channel__, action="play", title="["+scrapedtitle+"]", fulltitle=item.title, url=scrapedurl, thumbnail=item.thumbnail, folder=False) )
return itemlist
def play(item):
logger.info("pelisalacarta.estrenosdecineonline play item.url="+item.url)
itemlist=[]
videoitemlist = servertools.find_video_items(data=item.url)
i=1
for videoitem in videoitemlist:
if not "favicon" in videoitem.url:
videoitem.title = "Mirror %d%s" % (i,videoitem.title)
videoitem.fulltitle = item.fulltitle
videoitem.channel=channel=__channel__
videoitem.show = item.fulltitle
itemlist.append(videoitem)
i=i+1
return itemlist
Bájate el conetor de mail.ru para que puedas ver los enlaces mailru
viewtopic.php?f=14&t=6236