Página 4 de 6

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

Publicado: 09 Oct 2014, 22:54
por neno1978
Muy bueno eso, si señor, ;)...
ya por último amigo, es que llevo dos horas liado con la paginación y , creo que estoy tan saturado ya :x que no veo donde fallo si he dejad mal las cosas de tanto cambio, miralo haber que te parece ;)

Código: Seleccionar todo

    # Extrae el paginador
    patronvideos  = "<a href='([^']+) 'class='([^']+)'>([^<]+)</a> <a href='([^']+)"
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    
    if len(matches)>0:
        scrapedurl = urlparse.urljoin(item.url,matches[0])
        itemlist.append( Item(channel=__channel__, action="peliculas", title="siguiente>>" , url=scrapedurl , folder=True) )

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

Publicado: 09 Oct 2014, 23:51
por robalo
Prueba esto

Código: Seleccionar todo

    ## Paginación
    #<span class='current'>1</span><a href='http://www.bricocine.com/c/hd-microhd/page/2/'

    # Si falla no muestra ">> Página siguiente"
    try:
        next_page = scrapertools.get_match(data,"<span class='current'>\d+</span><a href='([^']+)'")
        itemlist.append( Item(channel=__channel__, title=">> Página siguiente", url=next_page, action="peliculas", folder=True) )
    except: pass
;)

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

Publicado: 10 Oct 2014, 00:00
por neno1978
eres el p**o amooo! me quito el sobrero ante ti ;) Gracias amigo , voy aprendiendo mucho ;)

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

Publicado: 10 Oct 2014, 08:42
por neno1978
buenos días ;)

una duda; cuando tengo esto como resultado de un buscador y no coincide con el def películas:

Código: Seleccionar todo

<fieldset>
                <div class="resultimage">
                                      <a title="Malefica [3D]" href="/peliculas/15029-malefica-3d"><img alt="Malefica [3D]" class="thumbnailresult" src="http://zentorrents.palasaka.net/images/articles/15/15029t.jpg"/></a>
				</div>
				<div class="resulttitle">
												<a class="contentpagetitle" href="/peliculas/15029-malefica-3d">
						Malefica [3D]							</a>
													<br />
							<span class="small">
								(Descargas/Películas)
							</span>
															</div>
				
				<div class="resultinfo">
				    3D SBS BluRay 1080p DTS 5.1-AC3 5.1 Castellano DTS 5.1-Ingles+Subs ES-EN. Maléfica es una bellísima joven con un corazón puro y unas asombrosas alas negras. Crece en un entorno idílico, un apacible reino&nbsp;...				</div>
							</fieldset>
como evito los saltos de linea para el patrón?
con

Código: Seleccionar todo

data = "".join(scrapertools.cache_page(item.url).split("\n")
?

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

Publicado: 10 Oct 2014, 11:17
por robalo
si, eso te puede valer
Tambien puedes usar

Código: Seleccionar todo

data = re.sub(r"\n","",data)
Aunque para "palasaka" yo usaría mejor este:

Código: Seleccionar todo

    # Descarga la página y elimina todos los saltos de línea, retornos del carro, tabuladores y excesos de espacios
    data = scrapertools.cache_page(item.url)
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;","",data)

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

Publicado: 10 Oct 2014, 11:29
por robalo
te pongo como lo dejé "pelisaka"

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") )
    itemlist.append( Item(channel=__channel__, title="Series" , action="peliculas", url="http://zentorrents.palasaka.net/series"))
    itemlist.append( Item(channel=__channel__, title="Musica" , action="peliculas", url="http://zentorrents.palasaka.net/musica"))
    if config.get_setting("enableadultmode") == "true":
        itemlist.append( Item(channel=__channel__, title="XXX - Torrent" , action="peliculas", url="http://boobsloops.palasaka.net/torrents"))
        itemlist.append( Item(channel=__channel__, title="XXX - Vídeo" , action="peliculas", url="http://boobsloops.palasaka.net/video"))
    itemlist.append( Item(channel=__channel__, title="Peliculas 1080", action="peliculas", url="http://zentorrents.palasaka.net/tags/1080p"))
    itemlist.append( Item(channel=__channel__, title="Peliculas 720", action="peliculas", url="http://zentorrents.palasaka.net/tags/720p"))
    itemlist.append( Item(channel=__channel__, title="Buscar", action="search", url="http://zentorrents.palasaka.net/buscar"))

    return itemlist

def search(item,texto):

    logger.info("pelisalacarta.palasaka search")
    itemlist = []

    try:
        texto = texto.replace(" ","+")
        item.url = item.url+"?searchword=%s&ordering=&searchphrase=all&limit=20"
        item.url = item.url % texto
        itemlist.extend(peliculas(item))

        return itemlist

    except:
        for line in sys.exc_info():
            logger.error( "%s" % line )
        return []

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

    itemlist = []

    # Descarga la página y elimina todos los saltos de línea, retornos del carro, tabuladores y excesos de espacios
    data = scrapertools.cache_page(item.url)
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;","",data)
    #data = scrapertools.get_match(data,'</form>(<table class="contentpaneopen">.*?</table>)')

    # Si viene del buscador: Usar el patron para los resutados de una búsqueda
    if "searchword" in item.url:
        # Elimina las etiquetas 'span' que pueda generar el buscador de la página
        if "highlight" in data:
            searchword = scrapertools.get_match(data,'<span class="highlight">([^<]+)</span>')
            data = re.sub(r'<span class="highlight">[^<]+</span>',searchword,data)

        #<fieldset><div class="resultimage"><a title="Carmina Y Amén" href="/peliculas/15188-carmina-y-amen"><img alt="Carmina Y Amén" class="thumbnailresult" src="http://zentorrents.palasaka.net/images/articles/15/15188t.jpg"/></a></div><div class="resulttitle"><a class="contentpagetitle" href="/peliculas/15188-carmina-y-amen">Carmina Y Amén</a><br /><span class="small">(Descargas/Películas)</span></div><div class="resultinfo">Carmina y Aménarranca con la muerte súbita del marido de la protagonista, que convence a su hija (María León) de no dar parte de la defunción hasta pasados dos días para poder cobrar la paga doble que...</div></fieldset>

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

    # Si no viene del buscador: Usar el patron genérico para películas, series, música, XXX y tags
    else:
        #<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

    #Existen dos equipos: boobsloops para XXX y zentorrents para el resto
    equipo = scrapertools.get_match(item.url,"http://([^\.]+)\.")

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

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

    # Paginación
    #<a href="/peliculas?start=25" title="Siguiente">Siguiente</a>

    # Si hay enlace para 'Siguiente' añadir ">> Página siguiente" a la lista
    if 'title="Siguiente"' in data:
        siguiente = scrapertools.get_match(data,'<a href="([^"]+)" title="Siguiente">')
        scrapedurl = "http://"+equipo+".palasaka.net" + siguiente
        itemlist.append( Item(channel=__channel__, title=">> Página siguiente", url=scrapedurl, action="peliculas", folder=True) )

    return itemlist

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

    itemlist = []

    # Descarga la página 
    data = scrapertools.cache_page(item.url)
    #}" href="http://zentorrents.palasaka.net/index.php?option=com_profiles&view=download&id=15849&f=aHR0cDovL3plbnRvcnJlbnRzLnBhbGFzYWthLm5ldC9tZWRpYS90b3JyZW50cy8xNTg0OS50b3JyZW50&tmpl=component"
    patron = '}" href="([^"]+)"'
    url = scrapertools.get_match(data, patron)

    # Descarga la página
    data = scrapertools.cache_page(url)
    #window.location = 'http://zentorrents.palasaka.net/media/torrents/15849.torrent'
    patron = "window.location = '([^']+)'"
    url_torrent = scrapertools.get_match(data, patron)

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

    return itemlist

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

Publicado: 10 Oct 2014, 13:08
por neno1978
tío , pues ese que me posteas a mi me da error script y no puedo entrar en el canal (puede tener que ver con el else ?)

Mira este es el que yo he hecho pero no le rula el buscador , sale vacío

Código: Seleccionar todo

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

DEBUG = config.get_setting("debug")

def isGeneric():
    return True

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

    itemlist = []
    itemlist.append( Item(channel=__channel__, title="Películas"      , action="peliculas", url="http://zentorrents.palasaka.net/peliculas/" ,thumbnail="http://zentorrents.palasaka.net/templates/zentorrents2/images/logo.png"))
    itemlist.append( Item(channel=__channel__, title="Peliculas 1080" , action="peliculas", url="http://zentorrents.palasaka.net/tags/1080p"))
    itemlist.append( Item(channel=__channel__, title="Peliculas 720"  , action="peliculas", url="http://zentorrents.palasaka.net/tags/720p"))
    itemlist.append( Item(channel=__channel__, title="Series"         , action="peliculas", url="http://zentorrents.palasaka.net/series"))
    itemlist.append( Item(channel=__channel__, title="Buscar..."      , action="search"   , url="http://zentorrents.palasaka.net/buscar"))
    

    return itemlist

def search(item,texto):
    logger.info("pelisalacarta.palasaka search")
    itemlist = []
    
    try:
        texto = texto.replace(" ","+")
        item.url = item.url+"?searchword=%s&ordering=&searchphrase=all&limit=20"
        item.url = item.url % texto
        itemlist.extend(buscador(item))
        
        return itemlist
    
    except:
        for line in sys.exc_info():
            logger.error( "%s" % line )
        return []

def buscador(item):
    logger.info("pelisalacarta.zentorrents buscador")
    itemlist = []
    # Descarga la página
    data = scrapertools.cache_page(item.url)
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;","",data)
    #data = scrapertools.get_match(data,'</form>(<table class="contentpaneopen">.*?</table>)')
    if "highlight" in data:
        searchword = scrapertools.get_match(data,'<span class="highlight">([^<]+)</span>')
        data = re.sub(r'<span class="highlight">[^<]+</span>',searchword,data)
    #<fieldset><div class="resultimage"><a title="Carmina Y Amén" href="/peliculas/15188-carmina-y-amen"><img alt="Carmina Y Amén" class="thumbnailresult" src="http://zentorrents.palasaka.net/images/articles/15/15188t.jpg"/></a></div><div class="resulttitle"><a class="contentpagetitle" href="/peliculas/15188-carmina-y-amen">Carmina Y Amén</a><br /><span class="small">(Descargas/Películas)</span></div><div class="resultinfo">Carmina y Aménarranca con la muerte súbita del marido de la protagonista, que convence a su hija (María León) de no dar parte de la defunción hasta pasados dos días para poder cobrar la paga doble que...</div></fieldset>

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


    matches = re.compile(patron,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    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) )




def peliculas(item):
    logger.info("pelisalacarta.zentorrents peliculas")
    itemlist = []

    # Descarga la página
    data = scrapertools.cache_page(item.url)
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;","",data)
    
    #<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="Fran[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[^>]+>'
    patron += '<a title="([^"]+)" '
    patron += 'href="([^"]+)".*?'
    patron += 'src="([^"]+)".*?'
    patron += '<div class="createdate">([^<]+)</div>'
    patron+= '<div class="text">([^<]+)</div>'

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

    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) )
    
    # Extrae el paginador
    patronvideos  = '<a href="([^"]+)" title="Siguiente">Siguiente</a>'
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    
    if len(matches)>0:
        scrapedurl = urlparse.urljoin(item.url,matches[0])
        itemlist.append( Item(channel=__channel__, action="peliculas", title="siguiente>>" , url=scrapedurl , folder=True) )
    
    return itemlist

def findvideos(item):
    logger.info("pelisalacarta.zentorrents findvideos")
    
    itemlist = []
    
    # Descarga la página
    data = scrapertools.cache_page(item.url)
    #}" href="http://zentorrents.palasaka.net/index.php?option=com_profiles&view=download&id=15849&f=aHR0cDovL3plbnRvcnJlbnRzLnBhbGFzYWthLm5ldC9tZWRpYS90b3JyZW50cy8xNTg0OS50b3JyZW50&tmpl=component"
    patron = '}" href="([^"]+)"'
    url = scrapertools.get_match(data, patron)
    
    # Descarga la página
    data = scrapertools.cache_page(url)
    #window.location = 'http://zentorrents.palasaka.net/media/torrents/15849.torrent'
    patron = "window.location = '([^']+)'"
    url_torrent = scrapertools.get_match(data, patron)
    
    itemlist.append( Item(channel=__channel__, title = "[torrent]", action="play", url=url_torrent, server="torrent", folder=False) )


    return itemlist

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

Publicado: 10 Oct 2014, 16:21
por neno1978
vale, soy tonto, ya lo he arreglado, era una cuestión de que yo lo llamo zentorrents y tu palaska ... :oops:

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

Publicado: 10 Oct 2014, 19:32
por robalo
si jajaja

y te falta el return itemlist en buscador, por eso no devuelve nada

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

Publicado: 10 Oct 2014, 21:05
por neno1978
jajaja, ost**! por la cara, la mente ya bloqueada :lol: :lol: pero me gusta, con muchísima ayuda tuya(y me quedo corto) haber conseguido sacarlo :P

acierto el tema del lobo ya, eso no podemos hacerlo nosotros no?

Muchas gracias robalo eres un crack ;)