Página 1 de 1

Canal - Peelink

Publicado: 08 Sep 2015, 15:34
por kampanita
Es un canal un poco "enrevesadillo", pero tiene las pelis en buena calidad y suelen estar en castellano.
No da info del idioma/calidad ... en fin...en algunos sitios no tiene ni el titulo...

La paginación me está volviendo loco, la pagina principal y las demás no son iguales ... El valor del atributo "next" para la siguiente pagina lo tienen mal alimentado y tengo una paja mental hecha para resolverlo...que para qué.

Por otro lado el tema de busqueda por categorias va fino, fino, puesto que tira de un indice que hay creado en la pagina, esa parte chuta bien.

Si lo queréis probar alguno, esto es lo que he hecho hasta ahora, sois libres de retoquetearlo y mejorarlo como querais.

Re: Canal - Peelink

Publicado: 15 Sep 2015, 15:11
por kampanita
@robalo
cuando me refería a que me enreveso bastante, era por cosas como estas para la paginacion de peelink ;)
seguro que hay otras maneras más elegantes de hacer lo mismo ;) , una vez que tienes el nº de pagina en el que estas, con hacer un replace de en nº de pagina + 1 y tal... pero como no se como manejarme con substrings, pues lo he resuelto buscando en los datos de la pagina el url con el nº de pagina + 1 y recojo dicha url, en vez de componerla haciendo el replace ( que era mucho mas facil )... cosas de no saber python

Código: Seleccionar todo

 ##########################
  # puta_paginacion
    
    patron = '<link rel="canonical" href="([^"]+)"'

    try:
       pagina_actual = scrapertools.get_match(data,patron)    
       pagina_actual = urlparse.urljoin(item.url,pagina_actual)                                   
        

       try:
          patron='<a href="([^"]+-estreno.*?.html)">'
          bloquematches = re.compile(patron,re.DOTALL).findall(data)    

          for scrapedurl in bloquematches:
              url = urlparse.urljoin(item.url,scrapedurl)             
              url = url.replace("www.","")
              pagina_actual = pagina_actual.replace("www.","")             

              if url == pagina_actual:
                 try:
                    dato = scrapertools.get_match(pagina_actual,'pagina-(\d+)-estreno')               
                    break

                 except:        
                    dato = "1"                                                  

              else:        
                 dato = "1"

               
          dato_busq = str (int(dato) + 1 )                               
        

          for scrapedurl in bloquematches:                        
               url = urlparse.urljoin(item.url,scrapedurl)               
               dato2 = scrapertools.get_match(url,'pagina-(\d+)-estreno')                              
               
               if dato_busq == dato2:                 
                  itemlist.append( Item(channel=__channel__, title="Pagina [COLOR red][ "+dato2+" ][/COLOR]", url=url, action="menupelis",  folder=True) )                 
                  break               
        
       except: pass
      
    except: pass
    
    return itemlist 	

Re: Canal - Peelink

Publicado: 15 Sep 2015, 21:57
por robalo
prueba

Código: Seleccionar todo

    #puta_paginacion
    path_url = len(item.url.split('/'))
    if path_url == 3: current_page = 1
    else: current_page = int(scrapertools.get_match(item.url, '-(\d+)-'))
    url_page = scrapertools.get_match(data, '<p><a href="http://peelink2.org/">.*?href="([^"]+)"')
    next_page = re.sub(r'-\d+-','-' + str(current_page + 1) + '-',url_page)
    if next_page in data:
        itemlist.append( Item(channel=__channel__, title="Pagina [COLOR red]>>Página siguiente[/COLOR]", url=next_page, action="menupelis",  folder=True) )

Re: Canal - Peelink

Publicado: 15 Sep 2015, 22:51
por kampanita
Asi ... si.

Joer, que pulcritud.

Re: Canal - Peelink

Publicado: 16 Sep 2015, 10:58
por robalo
Ésta otra la mejora un poco.
Menudo cacao mental tienen. Posiblemente el mantenimiento lo lleven varias personas que no se hablan, están enfadaos o es uno sólo y es más cajón desastre que todos nosotros juntos :lol:

Código: Seleccionar todo

    #puta_paginacion
    path_url_len_dir = len(item.url.split('/'))
    if path_url_len_dir == 3:
        next_page = scrapertools.get_match(data, '<p><a href="http://peelink2.org/">.*?href="([^"]+)"')
    else:
        current_page_number = int(scrapertools.get_match(item.url, '-(\d+)-'))
        next_page = scrapertools.find_single_match(data, 'href="(http://www.peelink2.org/[^\-]+\-'+ str(current_page_number + 1) +'\-[^"]+)"')
        if next_page == "": next_page = scrapertools.find_single_match(data, 'href="(http://peelink2.org/[^\-]+\-'+ str(current_page_number + 1) +'\-[^"]+)"')

    if next_page != "":
        itemlist.append( Item(channel=__channel__, title="Pagina [COLOR red]>>Página siguiente[/COLOR]", url=next_page, action="menupelis",  folder=True) )

Re: Canal - Peelink

Publicado: 11 Nov 2015, 14:10
por luijoluijo
Hola, os dejo este enlace de peelink por si quereis echarle un vistazo, esque no consigo acceder a los enlaces de las carátulas, por favor podeis echarme una mano?. Gracias.