.*?
' % item.pattern #seleccionamos el bloque que nos interesa
+ pattern = '
' % item.pattern #seleccionamos el bloque que nos interesa
if not data or (not scrapertools.find_single_match(data, pattern) and not '
( 0 ) Resultados encontrados ' in data):
item = generictools.web_intervenida(item, data) #Verificamos que no haya sido clausurada
if item.intervencion: #Sí ha sido clausurada judicialmente
@@ -708,13 +709,13 @@ def listado_busqueda(item):
if not data: #Si no ha logrado encontrar nada, salimos
itemlist.append(item.clone(action='', title="[COLOR yellow]" + item.channel.capitalize() + '[/COLOR]: Ningún canal NewPct1 activo'))
itemlist.append(item.clone(action='', title=item.category + ': ERROR 01: LISTADO_BUSQUEDA:. La Web no responde o ha cambiado de URL. Si la Web está activa, reportar el error con el log'))
- return itemlist #si no hay más datos, algo no funciona, pintamos lo que tenemos
- elif item.channel_alt: #Si ha habido fail-over, lo comento
+ return itemlist #si no hay más datos, algo no funciona, pintamos lo que tenemos
+ elif item.channel_alt: #Si ha habido fail-over, lo comento
host = host.replace(item.channel_alt, item.channel)
#Obtiene la dirección de la próxima página, si la hay
try:
- post_actual = item.post #Guardamos el post actual por si hay overflow de Itemlist y hay que hechar marcha atrás
+ post_actual = item.post #Guardamos el post actual por si hay overflow de Itemlist y hay que hechar marcha atrás
if item.extra == "novedades":
get, post, total_pag = scrapertools.find_single_match(data, '
' in data_alt: #error
logger.error("ERROR 02: LISTADO_BUSQUEDA: Ha cambiado la estructura de la Web " + " / PATRON: " + pattern + " / DATA: " + data_alt)
itemlist.append(item.clone(action='', title=item.category + ': ERROR 02: LISTADO_BUSQUEDA: Ha cambiado la estructura de la Web. Reportar el error con el log'))
- item, itemlist = generictools.post_tmdb_listado(item, itemlist) #Pintamos los datos de fail-over, si los hay
- return itemlist #si no hay más datos, algo no funciona, pintamos lo que tenemos
+ item, itemlist = generictools.post_tmdb_listado(item, itemlist) #Pintamos los datos de fail-over, si los hay
+ return itemlist #si no hay más datos, algo no funciona, pintamos lo que tenemos
#Ahora se hace una simulación para saber cuantas líneas podemos albergar en este Itemlist.
#Se controlará cuantas páginas web se tienen que leer para rellenar la lista, sin pasarse
- title_lista_alt_for = [] #usamos está lista de urls para el FOR, luego la integramos en la del WHILE
+ title_lista_alt_for = [] #usamos está lista de urls para el FOR, luego la integramos en la del WHILE
for scrapedurl, scrapedtitle, scrapedthumbnail, calidad, year, size in matches_alt:
#Realiza un control de las series que se añaden, ya que el buscador devuelve episodios y no las series completas
#Se analiza si la url de la serie ya se ha listado antes. Si es así, esa entrada se ignora
#Cuando llega al num. máximo de entradas por página, la pinta y guarda los contadores y la lista de series
scrapedurl_alt = scrapedurl
- if "pelisyseries.com" in host: #Excepción para mispelisyseries.com.
- scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+-al-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- scrapedurl_alt = re.sub(r'\/\d{5,7}', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- if scrapedurl_alt in title_lista_alt: # si ya se ha tratado, pasamos al siguiente item
- continue # solo guardamos la url para series y docus
+ if "pelisyseries.com" in host: #Excepción para mispelisyseries.com.
+ scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+-al-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ scrapedurl_alt = re.sub(r'\/\d{5,7}', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ if scrapedurl_alt in title_lista_alt: # si ya se ha tratado, pasamos al siguiente item
+ continue # solo guardamos la url para series y docus
- if scrapedurl_alt in title_lista_alt or scrapedurl_alt in title_lista_alt_for: # si ya se ha tratado, pasamos al siguiente item
- continue # solo guardamos la url para series y docus
+ if scrapedurl_alt in title_lista_alt or scrapedurl_alt in title_lista_alt_for or scrapedthumbnail in title_lista_alt or scrapedthumbnail in title_lista_alt_for: # si ya se ha tratado, pasamos al siguiente item
+ continue # solo guardamos la url para series y docus
if ".com/serie" in scrapedurl or "/serie" in scrapedurl or "-serie" in scrapedurl or "varios/" in scrapedurl:
title_lista_alt_for += [scrapedurl_alt]
+ title_lista_alt_for += [scrapedthumbnail]
- if "juego/" in scrapedurl: # no mostramos lo que no sean videos
+ if "juego/" in scrapedurl: # no mostramos lo que no sean videos
continue
- cnt_title += 1 # Sería una línea real más para Itemlist
+ cnt_title += 1 # Sería una línea real más para Itemlist
#Control de página
- if cnt_title > cnt_tot*0.65: #si se acerca al máximo num. de lineas por pagina, tratamos lo que tenemos
- cnt_next = 99 #Casi completo, no sobrepasar con la siguiente página
+ if cnt_title > cnt_tot*0.65: #si se acerca al máximo num. de lineas por pagina, tratamos lo que tenemos
+ cnt_next = 99 #Casi completo, no sobrepasar con la siguiente página
if cnt_title > cnt_tot:
- cnt_title = 99 #Sobrepasado el máximo. Ignoro página actual
- item.post = post_actual #Restauro puntero "next" a la página actual, para releearla en otra pasada
- post_num -= 1 #Restauro puntero a la página actual en el pie de página
+ cnt_title = 99 #Sobrepasado el máximo. Ignoro página actual
+ item.post = post_actual #Restauro puntero "next" a la página actual, para releearla en otra pasada
+ post_num -= 1 #Restauro puntero a la página actual en el pie de página
break
if cnt_title <= cnt_tot:
- matches.extend(matches_alt) #Acumulamos las entradas a tratar. Si nos hemos pasado ignoro última página
+ matches.extend(matches_alt) #Acumulamos las entradas a tratar. Si nos hemos pasado ignoro última página
title_lista_alt.extend(title_lista_alt_for)
#logger.debug("PATRON: " + pattern)
@@ -813,26 +815,28 @@ def listado_busqueda(item):
#Realiza un control de las series que se añaden, ya que el buscador devuelve episodios y no las series completas
#Se analiza si la url de la serie ya se ha listado antes. Si es así, esa entrada se ignora
#El control de página ya se ha realizado más arriba
- if "pelisyseries.com" in host: #Excepción para mispelisyseries.com.
+ if "pelisyseries.com" in host: #Excepción para mispelisyseries.com.
scrapedurl_alt = scrapedurl
- scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+-al-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- scrapedurl_alt = re.sub(r'\/\d{5,7}', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
- if scrapedurl_alt in title_lista: # si ya se ha tratado, pasamos al siguiente item
- continue # solo guardamos la url para series y docus
+ scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+-al-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-\d+', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ scrapedurl_alt = re.sub(r'\/[c|C]ap.*?-', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ scrapedurl_alt = re.sub(r'\/\d{5,7}', '', scrapedurl_alt) #Scrapeo el capítulo para hacerlo serie
+ if scrapedurl_alt in title_lista: # si ya se ha tratado, pasamos al siguiente item
+ continue # solo guardamos la url para series y docus
- if scrapedurl in title_lista: # si ya se ha tratado, pasamos al siguiente item
- continue # solo guardamos la url para series y docus
+ if scrapedurl in title_lista or scrapedthumbnail in title_lista: # si ya se ha tratado, pasamos al siguiente item
+ continue # solo guardamos la url para series y docus
if ".com/serie" in scrapedurl or "/serie" in scrapedurl or "-serie" in scrapedurl or "varios/" in scrapedurl:
if "pelisyseries.com" in host:
title_lista += [scrapedurl_alt]
else:
title_lista += [scrapedurl]
+ title_lista += [scrapedthumbnail]
+
if ("juego/" in scrapedurl or "xbox" in scrapedurl.lower()) and not "/serie" in scrapedurl or "xbox" in scrapedtitle.lower() or "windows" in scrapedtitle.lower() or "windows" in calidad.lower() or "nintendo" in scrapedtitle.lower() or "xbox" in calidad.lower() or "epub" in calidad.lower() or "pdf" in calidad.lower() or "pcdvd" in calidad.lower() or "crack" in calidad.lower(): # no mostramos lo que no sean videos
continue
- cnt_title += 1 # Sería una línea real más para Itemlist
+ cnt_title += 1 # Sería una línea real más para Itemlist
#Creamos una copia de Item para cada contenido
item_local = item.clone()
@@ -864,9 +868,9 @@ def listado_busqueda(item):
#Si son episodios sueltos de Series que vienen de Novedades, se busca la url de la Serie
if item.extra == "novedades" and "/serie" in url and episodio_serie == 1:
item_local.url = url
- item_local.extra2 = 'serie_episodios' #Creamos acción temporal excluyente para otros clones
- if item_local.category == 'Mispelisyseries': #Esta web no gestiona bien el cambio de episodio a Serie
- pattern = 'class="btn-torrent">.*?window.location.href = "([^"]+)";' #Patron para .torrent
+ item_local.extra2 = 'serie_episodios' #Creamos acción temporal excluyente para otros clones
+ if item_local.category == 'Mispelisyseries': #Esta web no gestiona bien el cambio de episodio a Serie
+ pattern = 'class="btn-torrent">.*?window.location.href = "([^"]+)";' #Patron para .torrent
#Como no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el cambio de episodio por serie
item_local, data_serie = generictools.fail_over_newpct1(item_local, pattern)
else:
@@ -875,25 +879,25 @@ def listado_busqueda(item):
except:
pass
- pattern = 'class="btn-torrent">.*?window.location.href = "([^"]+)";' #Patron para .torrent
+ pattern = '