# -*- coding: utf-8 -*- import re import urlparse from core import jsontools from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger DEFAULT_HEADERS = [] DEFAULT_HEADERS.append( ["User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; es-ES; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12"]) def mainlist(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, action="menuseries", title="Series", url="")) itemlist.append(Item(channel=item.channel, action="peliculas", title="Películas", url="http://vserie.com/peliculas", viewmode="movie")) itemlist.append(Item(channel=item.channel, action="search", title="Buscar...", url="http://vserie.com/search")) return itemlist def menuseries(item): logger.info() itemlist = [] itemlist.append( Item(channel=item.channel, action="novedades", title="Últimos episodios", url="http://vserie.com/series", viewmode="movie")) itemlist.append( Item(channel=item.channel, action="series", title="Todas", url="http://vserie.com/series", viewmode="movie")) return itemlist def search(item, texto): logger.info() try: if config.get_setting("zampaseriesaccount") == True: login() if item.url == "": item.url = "http://vserie.com/search" texto = texto.replace(" ", "+") # Mete el referer en item.extra post = "s=" + texto data = scrapertools.cache_page(item.url, post=post) data = scrapertools.find_single_match(data, '
(.*?)
') '''

Resultados de la Busqueda para skyfall (1)

Cargando más resultados
''' patron = '
  • (.*?)') logger.info("data=" + data) # Extrae las entradas (carpetas) patron = '
  • ([^<]+)' matches = re.compile(patron, re.DOTALL).findall(data) itemlist = [] for scrapedurl, scrapedthumbnail, scrapedtitle in matches: title = scrapertools.htmlclean(scrapedtitle) url = urlparse.urljoin(item.url, scrapedurl) thumbnail = urlparse.urljoin(item.url, scrapedthumbnail) plot = "" logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumbnail + "]") itemlist.append( Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, plot=plot, show=title)) return itemlist def series(item, data=""): logger.info() if config.get_setting("zampaseriesaccount") == True: login() # Descarga la pagina if data == "": if item.extra == "": data = scrapertools.cache_page(item.url) else: data = scrapertools.cache_page(item.url, post=item.extra) logger.info("data=" + data) json_object = jsontools.load(data) # {"resultado":{"40":"
  • \"The<\/a><\/li>","41":"
  • \"Teen<\/a><\/li>","42":"
  • \"Surviving<\/a><\/li>","43":"
  • \"Supernatural\"<\/a><\/li>","44":"
  • \"Suits\"<\/a><\/li>","45":"
  • \"Star-Crossed\"<\/a><\/li>","46":"
  • \"Sons<\/a><\/li>","47":"
  • \"Sleepy<\/a><\/li>","48":"
  • \"Skins\"<\/a><\/li>","49":"
  • \"Sirens\"<\/a><\/li>","50":"
  • \"Sin<\/a><\/li>","51":"
  • \"Silicon<\/a><\/li>","52":"
  • \"Siberia\"<\/a><\/li>","53":"
  • \"Sherlock\"<\/a><\/li>","54":"
  • \"Shameless\"<\/a><\/li>","55":"
  • \"Salem\"<\/a><\/li>","56":"
  • \"Rosemary's<\/a><\/li>","57":"
  • \"Ripper<\/a><\/li>","58":"
  • \"Revolution\"<\/a><\/li>","59":"
  • \"Revenge\"<\/a><\/li>","60":"
  • \"Resurrection\"<\/a><\/li>","61":"
  • \"Remedy\"<\/a><\/li>","62":"
  • \"Reign\"<\/a><\/li>","63":"
  • \"Ray<\/a><\/li>","64":"
  • \"Ravenswood\"<\/a><\/li>","65":"
  • \"Psych\"<\/a><\/li>","66":"
  • \"Pretty<\/a><\/li>","67":"
  • \"Power\"<\/a><\/li>","68":"
  • \"Person<\/a><\/li>","69":"
  • \"Perdidos<\/a><\/li>","70":"
  • \"Perception\"<\/a><\/li>","71":"
  • \"Penny<\/a><\/li>","72":"
  • \"Peaky<\/a><\/li>","73":"
  • \"Orphan<\/a><\/li>","74":"
  • \"Orange<\/a><\/li>"} rows = json_object["resultado"] data = "" for row in rows: data = data + rows[row] logger.info("data=" + repr(data)) # Extrae las entradas (carpetas) patron = 'title="([^"]+)"[^<]+\"The<\/a><\/li>","41":"
  • \"Teen<\/a><\/li>","42":"
  • \"Surviving<\/a><\/li>","43":"
  • \"Supernatural\"<\/a><\/li>","44":"
  • \"Suits\"<\/a><\/li>","45":"
  • \"Star-Crossed\"<\/a><\/li>","46":"
  • \"Sons<\/a><\/li>","47":"
  • \"Sleepy<\/a><\/li>","48":"
  • \"Skins\"<\/a><\/li>","49":"
  • \"Sirens\"<\/a><\/li>","50":"
  • \"Sin<\/a><\/li>","51":"
  • \"Silicon<\/a><\/li>","52":"
  • \"Siberia\"<\/a><\/li>","53":"
  • \"Sherlock\"<\/a><\/li>","54":"
  • \"Shameless\"<\/a><\/li>","55":"
  • \"Salem\"<\/a><\/li>","56":"
  • \"Rosemary's<\/a><\/li>","57":"
  • \"Ripper<\/a><\/li>","58":"
  • \"Revolution\"<\/a><\/li>","59":"
  • \"Revenge\"<\/a><\/li>","60":"
  • \"Resurrection\"<\/a><\/li>","61":"
  • \"Remedy\"<\/a><\/li>","62":"
  • \"Reign\"<\/a><\/li>","63":"
  • \"Ray<\/a><\/li>","64":"
  • \"Ravenswood\"<\/a><\/li>","65":"
  • \"Psych\"<\/a><\/li>","66":"
  • \"Pretty<\/a><\/li>","67":"
  • \"Power\"<\/a><\/li>","68":"
  • \"Person<\/a><\/li>","69":"
  • \"Perdidos<\/a><\/li>","70":"
  • \"Perception\"<\/a><\/li>","71":"
  • \"Penny<\/a><\/li>","72":"
  • \"Peaky<\/a><\/li>","73":"
  • \"Orphan<\/a><\/li>","74":"
  • \"Orange<\/a><\/li>"} rows = json_object["resultado"] data = "" for row in rows: # logger.info("rows[row]="+rows[row]) data = data + rows[row] logger.info("data=" + repr(data)) # Extrae las entradas (carpetas) patron = 'title="([^"]+)"[^<]+(.*?)'); logger.info("data=" + data) # Extrae las entradas (carpetas) patron = '([^<]+)' matches = re.compile(patron, re.DOTALL).findall(data) itemlist = [] for scrapedurl, scrapedtitle in matches: title = scrapertools.htmlclean(scrapedtitle) url = urlparse.urljoin(item.url, scrapedurl) thumbnail = "" plot = "" logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumbnail + "]") itemlist.append( Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, plot=plot, show=item.show)) return itemlist def findvideos(item): logger.info() if config.get_setting("zampaseriesaccount") == True: login() # Descarga la pagina data = scrapertools.cache_page(item.url) # logger.info("data="+data) # Extrae las entradas (carpetas) patron = '