Página 1 de 6

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 19 Sep 2014, 10:24
por jesus
Desde luego les estás haciendo una publicidad excelente ja ja ja

Aquí tienes un tutorial:

http://www.mimediacenter.info/guias-de-desarrollo/

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 22 Sep 2014, 07:10
por neno1978
Hola Jesús. Yo estoy siguiendo el tuto pero ya fallo en el 1paso xq en channelselector o como sea no se parece en nada o yo no lo veo a la forma que indicas que hay que poner las indicaciones y después tampoco o veo donde hay que poner los logos ya que en images sólo hay un par, vamos asume he hecho un lío

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 22 Sep 2014, 08:29
por traxel
podrias colgar los canales que los usuarios habeis conseguido crear...o hay algun sitio en el foro para ello?

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 22 Sep 2014, 09:09
por jesus
neno1978 escribió:Hola Jesús. Yo estoy siguiendo el tuto pero ya fallo en el 1paso xq en channelselector o como sea no se parece en nada o yo no lo veo a la forma que indicas que hay que poner las indicaciones y después tampoco o veo donde hay que poner los logos ya que en images sólo hay un par, vamos asume he hecho un lío
Una forma fácil es coger un canal que ya existe y modificarlo, así te evitas tener que cambiar nada en el channelselector.
traxel escribió:podrias colgar los canales que los usuarios habeis conseguido crear...o hay algun sitio en el foro para ello?
Los canales de pelisalacarta están todos aquí, tanto los que he hecho yo como los que han hecho otros usuarios:

https://code.google.com/p/xbmc-tvalacar ... 2Fchannels

Si hay algo que no queda claro puedo intentar hacer una guía actualizada...

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 22 Sep 2014, 21:18
por neno1978
hombre jesus, estaría genial, pero de verdad no te molestes,demasiado haces ya, de verdad. probando y errando tb se aprende ;)

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 23 Sep 2014, 22:12
por neno1978
Solo una ultima pregunta; si consigo que aparezca el canal, que entre en el , sin dar error script entre en un apartado(ya sea películas, 1080, etc) y sale el listado vacío; Donde puede estar el error? ;)

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 24 Sep 2014, 08:35
por robalo
Seguro que es por el patrón.

Prueba esto:

En la función mainlist crea una línea para todas las fichas (películas y series por temporadas. Categorías: Todas y orden: Nuevo-Antiguo)

Código: Seleccionar todo

    itemlist.append( Item(channel = __channel__, title="Todas las fichas [Nuevo-Antiguo]", action="todo", url="http://www.youpeliculasweb.com/peliculas-online") )
Crea una función con el mismo nombre que se ha puesto en action, para este ejemplo se usa una función que se llama todo

Código: Seleccionar todo

def todo(item):
    logger.info("pelisalacarta.youpeliculasweb todo")

    itemlist = []

    # Descarga la página y elimina todos los saltos de línea
    data = "".join(scrapertools.cache_page(item.url).split("\n"))

    #<li style="display: list-item;" class="mc-container"><a href="http://youpeliculasweb.com/cantinflas-2014" title="Cantinflas 2014 (2014) Película Online"><div class="tool mc-item"><div class="info_movie tile" data-tipped="http://youpeliculasweb.com/cantinflas-2014/info" data-querystring="id=4303"><div class="play_go"></div><img src="http://img-youpeliculas.com/images/2014/09/09/Cantinflas2B20142Bonline.jpg" alt="Cantinflas 2014 (2014) Película Online"></div></div></a><div class="library-show"><h4><div class="title-overflow"></div><a class="title" href="http://youpeliculasweb.com/cantinflas-2014" title="Cantinflas 2014 (2014) Película Online">Cantinflas 2014</a></h4></div></li>

    patron  = '<li style="display: list-item;" class="mc-container">'
    patron += '<a href="([^"]+)".*?' #scrapedurl
    patron += 'data-querystring="id=(\d+)".*?' #scrapedidvideo
    patron += '<img src="([^"]+)".*?' #scrapedthumbnail
    patron += '<a[^>]+>([^<]+)</a>' #scrapedtitle

    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl, scrapedidvideo, scrapedthumbnail, scrapedtitle  in matches:
        itemlist.append( Item(channel=__channel__, title=scrapedtitle+" (id="+scrapedidvideo+")", url=scrapedurl, action="findvideos", thumbnail=scrapedthumbnail, folder=True) )

    # Extrae el paginador
    #<div class="pagination pagination-centered"><ul><li class="active"><a href="peliculas-online/1#">1</a></li><li class="hidden-xs"><a href="peliculas-online/2">2</a></li><li class="hidden-xs"><a href="peliculas-online/3">3</a></li><li class="hidden-xs"><a href="peliculas-online/4">4</a></li><li class="hidden-xs"><a href="peliculas-online/5">5</a></li><li class="hidden-xs"><a href="peliculas-online/6">6</a></li><li class="hidden-xs"><a href="peliculas-online/7">7</a></li><li class="hidden-xs">&hellip;</li><li class="hidden-xs"><a href="peliculas-online/37">37</a></li><li class="next"><a href="peliculas-online/2" class="fui-arrow-right"></a></li></ul></div>

    patronvideos  = '<li class="next"><a href="([^"]+)" class="fui-arrow-right"></a></li>'
    matches = re.compile(patronvideos,re.DOTALL).findall(data)

    if len(matches)>0:
        scrapedurl = urlparse.urljoin("http://youpeliculasweb.com/",matches[0])
        itemlist.append( Item(channel=__channel__, action="todo", title=">> Página siguiente" , url=scrapedurl , folder=True) )

    return itemlist
Está claro que si pulsas sobre una película o serie no va a funcionar, hay que currarse la función findvideos. Pero para empezar con algo que funciona está bien :)

Suerte y ánimo ;)

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 24 Sep 2014, 09:29
por neno1978
Gracias robalo ;)

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 01 Oct 2014, 09:31
por neno1978
bueno, desisto, creo que me he puesto a cocinar un pato de alta cocina sin saber hacer un huevo frito ;) , ya por coraje robalo cuales seria el patrón para algo así

<h1 class="category">Películas</h1>
</div>
<div class="iconscomponentheadingblog">
<a title="Feed RSS" target="_blank" href="http://zentorrents.palasaka.net/pelicul ... feed"><img alt="Feed RSS" src="/images/M_images/livemarks.png"/></a>
</div>
<table class="blogblog" cellpadding="0" cellspacing="0">

<tr>
<td valign="top">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="100%" class="article_column">
<div class="blogitemfdb ">
<a title="Frank [MicroHD]" href="/peliculas/15776-frank-microhd"><img alt="Frank [MicroHD]" class="thumbnailarticle" src="http://zentorrents.palasaka.net/images/ ... .jpg"/></a>

<div class="info">

<div class="title"><a title="Frank [MicroHD]" href="/peliculas/15776-frank-microhd" class="contentpagetitleblog">Frank [MicroHD]</a></div>
<div class="createdate">30/09/2014</div>
<div class="text">
MicroHD 1080 px AC3 2.0-Castellano. Frank es una original comedia sobre un joven aspirante a músico que se siente perdido al unirse a un grupo pop vanguardista liderado por el misterioso y enigmático Frank: un genio de la música que se esconde bajo una enorme cabeza postiza.
</div>

</div>
<div class="clr"></div>

Re: alguien sabe como añadir una web a pelisalacarta

Publicado: 01 Oct 2014, 13:17
por robalo
Bueno esto es otra cosa :) y más fácil que el otro

Para llegar al enlace del torrent primero tienes que pasar por tres enlaces
1. http://zentorrents.palasaka.net/peliculas (que es de donde has sacado esos datos)
De aquí sacamos la 2

2. http://zentorrents.palasaka.net/peliculas/<id del torrent>-<nombre del torrent>
ejemplo: http://zentorrents.palasaka.net/pelicul ... nk-microhd
De la 2 sacamos la url 3

3. http://zentorrents.palasaka.net/index.p ... oad&id=<id del torrent>&f=<chorizo largo>&tmpl=component
ejemplo: http://zentorrents.palasaka.net/index.p ... =component
Y de la 3 sacamos la url del torrent que sería
http://zentorrents.palasaka.net/media/torrents/<id del torrent>.torrent
ejemplo: http://zentorrents.palasaka.net/media/t ... 76.torrent

El patrón para los datos que has posteados, el de la url 1 debería ser:

Código: Seleccionar todo

    patron = '<div class="blogitemfdb ">'                # Empezamos el patrón por aquí para que no se cuele nada raro
    patron+= '<a title="([^"]+)" '                       # scrapedtitulo
    patron+= 'href="([^"]+)".*?'                         # scrapedurl
    patron+= 'src="([^"]+)".*?'                          # scrapedthumbnail
    patron+= '<div class="createdate">([^<]+)</div>'     # scrapedcreatedate
    patron+= '<div class="text">([^<]+)</div>'           # scrapedplot
Con eso, además de la ruta de la url a seguir tienes más infomarción para colocar.

Ya sólo queda seguir con el resto de url. Usa la pestaña 'Red' de Firebug con el botón 'Mantener' para ojear las paginas, para mi es más cómodo así.

Si te fijas en los enlaces, excepto el primero, todos arrastran el id del torrent con lo que te hace pensar ¿Me puedo ahorar pasar por todas las páginas? Pues si :)

Te pego un archivo muy simple para que lo veas y sigas trabajando. yo lo he llamado 'palasaka.py' y lo he añadido a 'channelselector.py' para probarlo.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
#------------------------------------------------------------
# pelisalacarta - XBMC Plugin
# Canal para palasaka
# 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__ = "palasaka"
__category__ = "F"
__type__ = "generic"
__title__ = "Palasaka"
__language__ = "ES"

DEBUG = config.get_setting("debug")

def isGeneric():
    return True

def mainlist(item):
    logger.info("pelisalacarta.palasaka mainlist")

    itemlist = []

    itemlist.append( Item(channel=__channel__, title="Películas", action="peliculas", url="http://zentorrents.palasaka.net/peliculas") )

    return itemlist

def peliculas(item):
    logger.info("pelisalacarta.palasaka peliculas")

    itemlist = []

    # Descarga la página y elimina todos los saltos de línea, retornos del carro y tabuladores
    data = "".join(scrapertools.cache_page(item.url).split("\n"))
    data = "".join(data.split("\r"))
    data = "".join(data.split("\t"))

    #<div class="blogitemfdb "><a title="Frank [MicroHD]" href="/peliculas/15776-frank-microhd"><img alt="Frank [MicroHD]" class="thumbnailarticle" src="http://zentorrents.palasaka.net/images/articles/15/15776t.jpg"/></a><div class="info"><div class="title"><a title="Frank [MicroHD]" href="/peliculas/15776-frank-microhd" class="contentpagetitleblog">Frank [MicroHD]</a></div>    <div class="createdate">30/09/2014</div><div class="text">MicroHD 1080 px AC3 2.0-Castellano. Frank es una original comedia sobre un joven aspirante a músico que se siente perdido al unirse a un grupo pop vanguardista liderado por el misterioso y enigmático Frank: un genio de la música que se esconde bajo una enorme cabeza postiza.</div>        </div><div class="clr"></div></div>

    patron = '<div class="blogitemfdb ">'                # Empezamos el patrón por aquí para que no se cuele nada raro
    patron+= '<a title="([^"]+)" '                       # scrapedtitulo
    patron+= 'href="([^"]+)".*?'                         # scrapedurl
    patron+= 'src="([^"]+)".*?'                          # scrapedthumbnail
    patron+= '<div class="createdate">([^<]+)</div>'     # scrapedcreatedate
    patron+= '<div class="text">([^<]+)</div>'           # scrapedplot

    matches = re.compile(patron,re.DOTALL).findall(data)
    for scrapedtitulo, scrapedurl, scrapedthumbnail, scrapedcreatedate, scrapedplot in matches:
        scrapedtitulo = scrapedtitulo + "(Torrent:" + scrapedcreatedate + ")"
        scrapedurl = "http://zentorrents.palasaka.net" + scrapedurl

        itemlist.append( Item(channel=__channel__, title=scrapedtitulo, url=scrapedurl, action="findvideos", thumbnail=scrapedthumbnail, fulltitle=scrapedtitulo, plot=scrapedplot, folder=True) )

    return itemlist

def findvideos(item):
    logger.info("pelisalacarta.palasaka findvideos")

    itemlist = []

    id_torrent = scrapertools.get_match(item.url,"peliculas/(\d+)-")
    url_torrent = "http://zentorrents.palasaka.net/media/torrents/"+id_torrent+".torrent"

    itemlist.append( Item(channel=__channel__, title = "[torrent]", action="play", url=url_torrent, server="torrent", folder=False) )

    return itemlist
Estúdialo. Espero que te sirva de ayuda y veamos pronto un canal tuyo ;)