def movielist(params,url,category): # pelis sin ficha (en listados por género) logger.info("[divxonline.py] movielist") # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) data = stepinto(url,data,'Ver página:(.*?)</p>') # Extrae las entradas (carpetas) patronvideos = '<li><h2><a href="([^"]+?)">(.*?)</a>' matches = re.compile(patronvideos,re.DOTALL).findall(data) #scrapertools.printMatches(matches) if (Generate): f = open(config.DATA_PATH+'/films.tab', 'w') # fichero para obtener las notas for match in matches: # Titulo scrapedtitle = remove_html_tags(match[1]) if (not Generate and Notas): score = anotador.getscore(remove_html_tags(match[1])) if (score != ""): scrapedtitle += " " + score # URL scrapedurl = urlparse.urljoin(url,match[0]) # url de la ficha divxonline scrapedurl = scrapedurl.replace("pelicula","pelicula-divx") # url de la página de reproducción # Thumbnail #scrapedthumbnail = urlparse.urljoin(url,match[1]) scrapedthumbnail = "" # procesa el resto scrapeddescription = "" # Depuracion if (DEBUG): logger.info("scrapedtitle="+scrapedtitle) logger.info("scrapedurl="+scrapedurl) logger.info("scrapedthumbnail="+scrapedthumbnail) if (Generate): sanio = re.search('(.*?)\((.*?)\)',scrapedtitle) if (sanio): # si hay anio fareg = sanio.group(1) + "\t" + sanio.group(2) + "\t" + scrapedtitle else: fareg = scrapedtitle + "\t\t" + scrapedtitle f.write(fareg+"\n") # Añade al listado de XBMC xbmctools.addthumbnailfolder( CHANNELNAME , scrapedtitle , scrapedurl , scrapedthumbnail, "listmirrors" ) # Label (top-right)... xbmcplugin.setPluginCategory( handle=pluginhandle, category=category ) xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE ) xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True ) if (Generate): f.close()
def pelisconficha(params,url,category): # fichas en listados por año y en estrenos logger.info("[divxonline.py] pelisconficha") # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) # Extrae las entradas patronvideos = '<td class="contenido"><a href="(.*?)">' # link patronvideos += '<img src="(.*?)"' # cartel patronvideos += '.*?title="(.*?)"' # título # patronvideos += '.*?<b>Descripción:</b>(.*?)\.\.\.' matches = re.compile(patronvideos,re.DOTALL).findall(data) scrapertools.printMatches(matches) for match in matches: # Titulo scrapedtitle = removeacutes(match[2]) if (not Generate and Notas): score = anotador.getscore(match[2]) if (score != ""): scrapedtitle += " " + score # URL scrapedurl = urlparse.urljoin(url,match[0]) # url de la ficha divxonline scrapedurl = scrapedurl.replace("pelicula","pelicula-divx") # url de la página de reproducción # Thumbnail scrapedthumbnail = "" if LoadThumbs: scrapedthumbnail = match[1] # procesa el resto scrapeddescription = "" #match[3] # Depuracion if (DEBUG): logger.info("scrapedtitle="+scrapedtitle) logger.info("scrapedurl="+scrapedurl) logger.info("scrapedthumbnail="+scrapedthumbnail) # Añade al listado de XBMC xbmctools.addthumbnailfolder( CHANNELNAME , scrapedtitle , scrapedurl , scrapedthumbnail, "listmirrors" ) # añade siguiente página match = re.search('(.*?)(\d+?)(\.html)',url) logger.info("url="+url) pag = match.group(2) newpag = match.group(1) + str(int(pag)+1) + match.group(3) logger.info("newpag="+newpag) xbmctools.addnewfolder( CHANNELNAME , "pelisconficha" , CHANNELNAME , "Siguiente" , newpag , "", "" ) # Label (top-right)... xbmcplugin.setPluginCategory( handle=pluginhandle, category=category ) # Disable sorting... xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE ) # End of directory... xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True )
def movielist(params, url, category): # pelis sin ficha (en listados por género) logger.info("[divxonline.py] movielist") # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) data = stepinto(url, data, 'Ver página:(.*?)</p>') # Extrae las entradas (carpetas) patronvideos = '<li><h2><a href="([^"]+?)">(.*?)</a>' matches = re.compile(patronvideos, re.DOTALL).findall(data) #scrapertools.printMatches(matches) if (Generate): f = open(config.DATA_PATH + '/films.tab', 'w') # fichero para obtener las notas for match in matches: # Titulo scrapedtitle = remove_html_tags(match[1]) if (not Generate and Notas): score = anotador.getscore(remove_html_tags(match[1])) if (score != ""): scrapedtitle += " " + score # URL scrapedurl = urlparse.urljoin(url, match[0]) # url de la ficha divxonline scrapedurl = scrapedurl.replace( "pelicula", "pelicula-divx") # url de la página de reproducción # Thumbnail #scrapedthumbnail = urlparse.urljoin(url,match[1]) scrapedthumbnail = "" # procesa el resto scrapeddescription = "" # Depuracion if (DEBUG): logger.info("scrapedtitle=" + scrapedtitle) logger.info("scrapedurl=" + scrapedurl) logger.info("scrapedthumbnail=" + scrapedthumbnail) if (Generate): sanio = re.search('(.*?)\((.*?)\)', scrapedtitle) if (sanio): # si hay anio fareg = sanio.group(1) + "\t" + sanio.group( 2) + "\t" + scrapedtitle else: fareg = scrapedtitle + "\t\t" + scrapedtitle f.write(fareg + "\n") # Añade al listado de XBMC xbmctools.addthumbnailfolder(CHANNELNAME, scrapedtitle, scrapedurl, scrapedthumbnail, "listmirrors") # Label (top-right)... xbmcplugin.setPluginCategory(handle=pluginhandle, category=category) xbmcplugin.addSortMethod(handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE) xbmcplugin.endOfDirectory(handle=pluginhandle, succeeded=True) if (Generate): f.close()
def pelisconfichaB(params, url, category): # fichas con formato en entradas alfabéticas logger.info("[divxonline.py] pelisconfichaB") t0 = time.time() # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) # carga N páginas N = 10 match = re.search('(.*?)(\d+?)(\.html)', url) pag = int(match.group(2)) #logger.info("pag="+match.group(2)) for i in range(pag + 1, pag + N): newurl = match.group(1) + str(i) + match.group(3) data += scrapertools.cachePage(newurl) nexturl = match.group(1) + str(pag + N) + match.group(3) # Extrae las entradas data = data[data.find('Películas online por orden alfabético'):] logger.info(data) patronvideos = '<td class="contenido"><img src="(.*?)"' # cartel patronvideos += '.*?alt="(.*?)"' # título patronvideos += '.*?<b>Sinopsis.*?<a href="(.*?)"' # url matches = re.compile(patronvideos, re.DOTALL).findall(data) scrapertools.printMatches(matches) for match in matches: # Titulo scrapedtitle = removeacutes(match[1]) # 7.49 seg # scrapedtitle = match[1] # 7.33 seg if (not Generate and Notas): score = anotador.getscore(match[1]) if (score != ""): scrapedtitle += " " + score # URL scrapedurl = urlparse.urljoin(url, match[2]) # url de la ficha divxonline scrapedurl = scrapedurl.replace( "pelicula", "pelicula-divx") # url de la página de reproducción # Thumbnail scrapedthumbnail = "" if LoadThumbs: scrapedthumbnail = match[0] # procesa el resto scrapeddescription = "" # match[3] # Depuracion if (DEBUG): logger.info("scrapedtitle=" + scrapedtitle) logger.info("scrapedurl=" + scrapedurl) logger.info("scrapedthumbnail=" + scrapedthumbnail) # Añade al listado de XBMC xbmctools.addthumbnailfolder(CHANNELNAME, scrapedtitle, scrapedurl, scrapedthumbnail, "listmirrors") # añade siguiente página xbmctools.addnewfolder(CHANNELNAME, "pelisconfichaB", CHANNELNAME, "Siguiente", nexturl, "", "") # Label (top-right)... xbmcplugin.setPluginCategory(handle=pluginhandle, category=category) xbmcplugin.addSortMethod(handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE) xbmcplugin.endOfDirectory(handle=pluginhandle, succeeded=True) if DEBUG: logger.info("Tiempo de ejecución = " + str(time.time() - t0))
def pelisconficha(params, url, category): # fichas en listados por año y en estrenos logger.info("[divxonline.py] pelisconficha") # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) if (data.find('Películas del año') > 0): ##data=data[data.find('<!-- MENU IZQUIERDO -->'):] data = data[data.find('Películas del año'):] logger.info(data.find('<!-- MENU IZQUIERDO -->')) #logger.info(data) # Extrae las entradas patronvideos = '<td class="contenido"><a href="(.*?)">' # link patronvideos += '<img src="(.*?)"' # cartel patronvideos += '.*?title="(.*?)"' # título # patronvideos += '.*?<b>Descripción:</b>(.*?)\.\.\.' matches = re.compile(patronvideos, re.DOTALL).findall(data) scrapertools.printMatches(matches) for match in matches: # Titulo scrapedtitle = removeacutes(match[2]) if (not Generate and Notas): score = anotador.getscore(match[2]) if (score != ""): scrapedtitle += " " + score # URL scrapedurl = urlparse.urljoin(url, match[0]) # url de la ficha divxonline scrapedurl = scrapedurl.replace( "pelicula", "pelicula-divx") # url de la página de reproducción # Thumbnail scrapedthumbnail = "" if LoadThumbs: scrapedthumbnail = match[1] # procesa el resto scrapeddescription = "" #match[3] # Depuracion if (DEBUG): logger.info("scrapedtitle=" + scrapedtitle) logger.info("scrapedurl=" + scrapedurl) logger.info("scrapedthumbnail=" + scrapedthumbnail) # Añade al listado de XBMC xbmctools.addthumbnailfolder(CHANNELNAME, scrapedtitle, scrapedurl, scrapedthumbnail, "listmirrors") # añade siguiente página match = re.search('(.*?)(\d+?)(\.html)', url) logger.info("url=" + url) pag = match.group(2) newpag = match.group(1) + str(int(pag) + 1) + match.group(3) logger.info("newpag=" + newpag) xbmctools.addnewfolder(CHANNELNAME, "pelisconficha", CHANNELNAME, "Siguiente", newpag, "", "") # Label (top-right)... xbmcplugin.setPluginCategory(handle=pluginhandle, category=category) # Disable sorting... xbmcplugin.addSortMethod(handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE) # End of directory... xbmcplugin.endOfDirectory(handle=pluginhandle, succeeded=True)
def pelisconfichaB(params,url,category): # fichas con formato en entradas alfabéticas logger.info("[divxonline.py] pelisconfichaB") t0 = time.time() # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) # carga N páginas N = 10 match = re.search('(.*?)(\d+?)(\.html)',url) pag = int(match.group(2)) #logger.info("pag="+match.group(2)) for i in range(pag+1,pag+N): newurl = match.group(1) + str(i) + match.group(3) data += scrapertools.cachePage(newurl) nexturl = match.group(1) + str(pag+N) + match.group(3) # Extrae las entradas data=data[data.find('Películas online por orden alfabético'):] logger.info(data) patronvideos = '<td class="contenido"><img src="(.*?)"' # cartel patronvideos += '.*?alt="(.*?)"' # título patronvideos += '.*?<b>Sinopsis.*?<a href="(.*?)"' # url matches = re.compile(patronvideos,re.DOTALL).findall(data) scrapertools.printMatches(matches) for match in matches: # Titulo scrapedtitle = removeacutes(match[1]) # 7.49 seg # scrapedtitle = match[1] # 7.33 seg if (not Generate and Notas): score = anotador.getscore(match[1]) if (score != ""): scrapedtitle += " " + score # URL scrapedurl = urlparse.urljoin(url,match[2]) # url de la ficha divxonline scrapedurl = scrapedurl.replace("pelicula","pelicula-divx") # url de la página de reproducción # Thumbnail scrapedthumbnail = "" if LoadThumbs: scrapedthumbnail = match[0] # procesa el resto scrapeddescription = "" # match[3] # Depuracion if (DEBUG): logger.info("scrapedtitle="+scrapedtitle) logger.info("scrapedurl="+scrapedurl) logger.info("scrapedthumbnail="+scrapedthumbnail) # Añade al listado de XBMC xbmctools.addthumbnailfolder( CHANNELNAME , scrapedtitle , scrapedurl , scrapedthumbnail, "listmirrors" ) # añade siguiente página xbmctools.addnewfolder( CHANNELNAME , "pelisconfichaB" , CHANNELNAME , "Siguiente" , nexturl , "", "" ) # Label (top-right)... xbmcplugin.setPluginCategory( handle=pluginhandle, category=category ) xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE ) xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True ) if DEBUG: logger.info("Tiempo de ejecución = "+str(time.time()-t0))