def movielist(params, url, category): logger.info("[pintadibujos.py] mainlist") # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) # Extrae las entradas (carpetas) patronvideos = '<td><a href="([^"]+)" target="_blank"><img SRC="([^"]+)"(| ALT=".*?") BORDER' matches = re.compile(patronvideos, re.DOTALL).findall(data) scrapertools.printMatches(matches) for match in matches: # Titulo if match[2] == "": longitud = len(match[1]) scrapedtitle = match[1][:longitud - 4] scrapedtitle = scrapedtitle.replace("_", " ") else: scrapedtitle = match[2].replace(" ALT=", "") scrapedtitle = scrapedtitle.replace('"', '') # URL scrapedurl = urlparse.urljoin(url, match[0]) # Thumbnail scrapedthumbnail = urlparse.urljoin(url, match[1]) # procesa el resto scrapeddescription = "" # 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, "detail") # 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): logger.info("[pintadibujos.py] mainlist") # Descarga la página data = scrapertools.cachePage(url) #logger.info(data) # Extrae las entradas (carpetas) patronvideos = '<td><a href="([^"]+)" target="_blank"><img SRC="([^"]+)"(| ALT=".*?") BORDER' matches = re.compile(patronvideos,re.DOTALL).findall(data) scrapertools.printMatches(matches) for match in matches: # Titulo if match[2] == "": longitud = len(match[1]) scrapedtitle = match[1][:longitud-4] scrapedtitle = scrapedtitle.replace("_"," ") else: scrapedtitle = match[2].replace(" ALT=","") scrapedtitle = scrapedtitle.replace('"','') # URL scrapedurl = urlparse.urljoin(url,match[0]) # Thumbnail scrapedthumbnail = urlparse.urljoin(url,match[1]) # procesa el resto scrapeddescription = "" # 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, "detail" ) # 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 paginasiguientes(patronvideos,data,category,cat): # ------------------------------------------------------ # Extrae la p�gina siguiente # ------------------------------------------------------ patron = '</span><a href="([^"]+)"' matches = re.compile(patron,re.DOTALL).findall(data) #menutitle = "Volver Al Menu Principal" #menurl = "http://www.sonolatino.com/" if DEBUG: scrapertools.printMatches(matches) for match in matches: scrapedtitle = "Pagina siguiente" scrapedurl = "http://www.sonolatino.com/" + match scrapedthumbnail = os.path.join(IMAGES_PATH, 'next.png') scrapeddescription = "" # Depuracion if DEBUG: logger.info("scrapedtitle="+scrapedtitle) logger.info("scrapedurl="+scrapedurl) logger.info("scrapedthumbnail="+scrapedthumbnail) if cat == 'tipo': # A�ade al listado de XBMC xbmctools.addthumbnailfolder( __channel__ , scrapedtitle , scrapedurl , scrapedthumbnail, "listatipoVideo" ) elif cat == 'nuevo': xbmctools.addthumbnailfolder( __channel__ , scrapedtitle , scrapedurl , scrapedthumbnail, "Videosnuevoslist" ) elif cat == 'tag': xbmctools.addthumbnailfolder( __channel__ , scrapedtitle , "http://www.sonolatino.com.es/series"+match , scrapedthumbnail, "tagdocumentaleslist" ) elif cat == 'busca': xbmctools.addthumbnailfolder( __channel__ , scrapedtitle , scrapedurl , scrapedthumbnail, "searchresults" ) #xbmctools.addthumbnailfolder( __channel__ , menutitle , menurl , "", "volvermenu" ) # 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 toplist(params,url,category): logger.info("[sonolatino.py] toplist") # Descarga la p�gina data = scrapertools.cachePage(url) #logger.info(data) # Extrae las entradas (carpetas) logger.info("[sonolatino.py] toplist "+url) if url== "http://www.sonolatino.com/topvideos.html?do=recent": patronvideos = '<tr>[^<]+<td[^>]+>([^<]+)</td>[^<]+<td' patronvideos += '[^>]+><a href="([^"]+)">' patronvideos += '<img src="([^"]+)" alt=[^>]+>' patronvideos += '</a></td>[^<]+<td[^>]+>([^<]+)</td>[^<]+<td[^>]+>' patronvideos += '<a href="[^"]+">([^<]+)</a>' patronvideos += '</td>[^<]+<td[^>]+>([^<]+)</td>' else: patronvideos = '<tr>[^>]+>([^<]+)</td>' patronvideos += '[^>]+><a href="([^"]+)">' patronvideos += '<img src="([^"]+)"' patronvideos += ' alt="([^"]+)"[^>]+>' patronvideos += '</a></td>[^>]+>([^<]+)</td>[^>]+>' patronvideos += '<a href="[^"]+">[^>]+></td>[^>]+>([^<]+)</td>' matches = re.compile(patronvideos,re.DOTALL).findall(data) scrapertools.printMatches(matches) for match in matches: # Titulo scrapedtitle = match[3] # URL scrapedurl = match[1] # Thumbnail scrapedthumbnail = match[2] # procesa el resto scrapedplot = match[4]+" - " + "Vistas : "+match[5]+" veces" # Depuracion if (DEBUG): logger.info("scrapedtitle="+scrapedtitle) logger.info("scrapedurl="+scrapedurl) logger.info("scrapedthumbnail="+scrapedthumbnail) # A�ade al listado de XBMC # xbmctools.addnewvideo( __channel__ , "detail" , category , "directo" , match[0]+") "+scrapedtitle + " - " + scrapedplot , scrapedurl , scrapedthumbnail , scrapedplot ) xbmctools.addthumbnailfolder( __channel__ , match[0]+") "+scrapedtitle+" - "+scrapedplot, scrapedurl , scrapedthumbnail, "detail" ) # Label (top-right)... xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category ) # Disable sorting... xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE ) # End of directory... xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
def videolist(params,url,category): logger.info("[veocine.py] mainlist") # ------------------------------------------------------ # Descarga la página # ------------------------------------------------------ data = scrapertools.cachePage(url) #logger.info(data) # ------------------------------------------------------ # Extrae las películas # ------------------------------------------------------ patron = '<tr.*?' patron += '<td.*?' patron += '<a href="([^"]+)">' patron += "<img src='([^']+)'.*?<a.*?>\s*(.*?)\s*<(.*?)" patron += "<img .*? alt='([^']+)' />" matches = re.compile(patron,re.DOTALL).findall(data) if DEBUG: scrapertools.printMatches(matches) for match in matches: try: scrapedtitle = unicode( match[2], "utf-8" ).encode("iso-8859-1") + " (" + match[4] + ")" except: scrapedtitle = match[2] + " (" + match[4] + ")" scrapedurl = urlparse.urljoin("http://www.veocine.es/",match[0]) scrapedthumbnail = "" try: scrapedplot = unicode( match[3], "utf-8" ).encode("iso-8859-1") except: scrapedplot = match[3] scrapedplot = scrapedplot.replace("/a>","\n") scrapedplot = scrapedplot.replace("<br />","\n") scrapedplot = scrapedplot.replace("<b>","") scrapedplot = scrapedplot.replace("</b>","") scrapedplot = scrapedplot.replace("<i>","") scrapedplot = scrapedplot.replace("</i>","") scrapedplot = scrapedplot.replace("<!--colorstart:#589BB9-->","") scrapedplot = scrapedplot.replace("<!--colorend-->","") scrapedplot = scrapedplot.replace("<!--/colorend-->","") scrapedplot = scrapedplot.replace("<!--/colorstart-->","") scrapedplot = scrapedplot.replace('<span style="color:#589BB9">',"") scrapedplot = scrapedplot.replace("</span>","") scrapedplot = scrapedplot.strip() # Depuracion if DEBUG: logger.info("scrapedtitle="+scrapedtitle) logger.info("scrapedurl="+scrapedurl) logger.info("scrapedthumbnail="+scrapedthumbnail) logger.info("scrapedplot="+scrapedplot) # Añade al listado de XBMC xbmctools.addnewfolder( __channel__ , "listmirrors" , category , scrapedtitle , scrapedurl , scrapedthumbnail, scrapedplot ) # ------------------------------------------------------ # Extrae la página siguiente # ------------------------------------------------------ patron = "<a href='([^']+)'>Siguiente</a>" matches = re.compile(patron,re.DOTALL).findall(data) if DEBUG: scrapertools.printMatches(matches) for match in matches: scrapedtitle = "Pagina siguiente" scrapedurl = urlparse.urljoin("http://www.veocine.es/",match) scrapedthumbnail = "" scrapeddescription = "" # Depuracion if DEBUG: logger.info("scrapedtitle="+scrapedtitle) logger.info("scrapedurl="+scrapedurl) logger.info("scrapedthumbnail="+scrapedthumbnail) # Añade al listado de XBMC xbmctools.addthumbnailfolder( __channel__ , scrapedtitle , scrapedurl , scrapedthumbnail, "mainlist" ) # Label (top-right)... xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category ) # Disable sorting... xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE ) # End of directory... xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
def videolist(params, url, category): logger.info("[veocine.py] mainlist") # ------------------------------------------------------ # Descarga la página # ------------------------------------------------------ data = scrapertools.cachePage(url) #logger.info(data) # ------------------------------------------------------ # Extrae las películas # ------------------------------------------------------ patron = '<tr.*?' patron += '<td.*?' patron += '<a href="([^"]+)">' patron += "<img src='([^']+)'.*?<a.*?>\s*(.*?)\s*<(.*?)" patron += "<img .*? alt='([^']+)' />" matches = re.compile(patron, re.DOTALL).findall(data) if DEBUG: scrapertools.printMatches(matches) for match in matches: try: scrapedtitle = unicode( match[2], "utf-8").encode("iso-8859-1") + " (" + match[4] + ")" except: scrapedtitle = match[2] + " (" + match[4] + ")" scrapedurl = urlparse.urljoin("http://www.veocine.es/", match[0]) scrapedthumbnail = "" try: scrapedplot = unicode(match[3], "utf-8").encode("iso-8859-1") except: scrapedplot = match[3] scrapedplot = scrapedplot.replace("/a>", "\n") scrapedplot = scrapedplot.replace("<br />", "\n") scrapedplot = scrapedplot.replace("<b>", "") scrapedplot = scrapedplot.replace("</b>", "") scrapedplot = scrapedplot.replace("<i>", "") scrapedplot = scrapedplot.replace("</i>", "") scrapedplot = scrapedplot.replace("<!--colorstart:#589BB9-->", "") scrapedplot = scrapedplot.replace("<!--colorend-->", "") scrapedplot = scrapedplot.replace("<!--/colorend-->", "") scrapedplot = scrapedplot.replace("<!--/colorstart-->", "") scrapedplot = scrapedplot.replace('<span style="color:#589BB9">', "") scrapedplot = scrapedplot.replace("</span>", "") scrapedplot = scrapedplot.strip() # Depuracion if DEBUG: logger.info("scrapedtitle=" + scrapedtitle) logger.info("scrapedurl=" + scrapedurl) logger.info("scrapedthumbnail=" + scrapedthumbnail) logger.info("scrapedplot=" + scrapedplot) # Añade al listado de XBMC xbmctools.addnewfolder(__channel__, "listmirrors", category, scrapedtitle, scrapedurl, scrapedthumbnail, scrapedplot) # ------------------------------------------------------ # Extrae la página siguiente # ------------------------------------------------------ patron = "<a href='([^']+)'>Siguiente</a>" matches = re.compile(patron, re.DOTALL).findall(data) if DEBUG: scrapertools.printMatches(matches) for match in matches: scrapedtitle = "Pagina siguiente" scrapedurl = urlparse.urljoin("http://www.veocine.es/", match) scrapedthumbnail = "" scrapeddescription = "" # Depuracion if DEBUG: logger.info("scrapedtitle=" + scrapedtitle) logger.info("scrapedurl=" + scrapedurl) logger.info("scrapedthumbnail=" + scrapedthumbnail) # Añade al listado de XBMC xbmctools.addthumbnailfolder(__channel__, scrapedtitle, scrapedurl, scrapedthumbnail, "mainlist") # Label (top-right)... xbmcplugin.setPluginCategory(handle=int(sys.argv[1]), category=category) # Disable sorting... xbmcplugin.addSortMethod(handle=int(sys.argv[1]), sortMethod=xbmcplugin.SORT_METHOD_NONE) # End of directory... xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)