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
