Página 1 de 1

Estoy estancado necesito un ayuda por favor

Publicado: 14 Jun 2016, 16:21
por Hernan_Ar_c
Buenas, como estan espero que bien todos.
Estoy tratando de armar un canal nuevo, obtengo la lista de series(por ahora generos y alfabetico), obtengo los capitulos, pero a la hora de obtener los enlaces a los videos estaba medio complicado no se si de forma correcta pero consegui ubtener la url que usa la pagina, el tema es que la hora de buscar los videos no encuentra nada o directamente no los abre.... si uso la url que obtengo con el script en el navegador me lleva al video directamente... a lo mejor me estoy ahogando en un vaso de agua pero si me pueden ayudar un poco termino las demas opciones y tenemos un canal mas para agregar... ah ya me presente por otro lado en el foro pero igualmente aviso que no tengo muy claro el tema de los canales y estoy aplicando lo que voy aprendiendo. les paso el script a ver si alguien puede darme una mano

Código: Seleccionar todo

# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# Canal (Anime Latino) por Hernan_Ar_c
# ------------------------------------------------------------

import urlparse,urllib2,urllib,re
import os, sys

from core import logger
from core import config
from core import scrapertools
from core.item import Item
from servers import servertools

__channel__ = "animelatino"
__category__ = "A"
__type__ = "generic"
__title__ = "Animelatino"
__language__ = "ES"

DEBUG = config.get_setting("debug")

host="http://anime-latino.net"
def isGeneric():
    return True

def mainlist(item):
    logger.info("pelisalacarta.channels.animelatino mainlist")

    itemlist = []
    itemlist.append( Item(channel=__channel__, title="Generos", action="GEN", url=host))
    itemlist.append( Item(channel=__channel__, title="Alfabetico", action="LET", url=host))

    return itemlist

def TS(item):
    logger.info("pelisalacarta.channels.animelatino TS")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<div class="bl"> <a href="([^"]+)" title="([^"]+)"><img src="([^"]+)".*?class="im" /></a>'
#    patron +='<a href="([^"]+)" title="([^"]+)">[^<]'
#    patron +='<div class="poster_efecto"><span>([^<]+)<.*?div>[^<]'
#    patron +='<img.*?src="([^"]+)"'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
        url = urlparse.urljoin(item.url,scrapedurl)
        title = scrapedtitle
        thumbnail = host+scrapedthumbnail
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="TS" , title=title , url=url, thumbnail=thumbnail, plot=plot))
    return itemlist
    #Paginacion

#    patron  = '<li><a class="next page-numbers local-link" href="([^"]+)">&raquo;.*?li>'
#    next_page_url = scrapertools.find_single_match(data,'<li><a class="next page-numbers local-link" href="([^"]+)">&raquo;.*?li>')
#    if next_page_url!="":
#        import inspect
#        itemlist.append(
#            Item(
#                channel = __channel__,
#                action = "TS",
#                title = ">> Página siguiente",
#                url = urlparse.urljoin( item.url, next_page_url )
#            )
#        )
#    return itemlist

def GEN(item):
    logger.info("pelisalacarta.channels.animelatino GEN")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<li><a href="/genero([^"]+)" class="let">([^<]+)</a></li>'
#   patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"genero"+scrapedurl)
 	title = scrapedtitle
#        title = title.replace("&","x");
        thumbnail = ""
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="LISTA" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist

def LET(item):
    logger.info("pelisalacarta.channels.animelatino LET")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<li><a href="/letra([^"]+)" class="let">([^<]+)</a></li>'
#   patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"letra"+scrapedurl)
 	title = scrapedtitle
#        title = title.replace("&","x");
        thumbnail = ""
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="LISTA" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist

def LISTA(item):
    logger.info("pelisalacarta.channels.animelatino LISTA")
    itemlist = []
    data = scrapertools.cache_page(item.url)
    item.url=host
    patron = '<div class="bl"> <a href=".*?/anime([^"]+)" title="([^"]+)"><img src="([^"]+)" alt=.*?/a>'
#   patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
        url = urlparse.urljoin(item.url,"anime"+scrapedurl)
 	title = scrapedtitle
#        title = title.replace("&","x");
        thumbnail = host+scrapedthumbnail
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="EP" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist

def EP(item):
    logger.info("pelisalacarta.channels.animelatino EP")
    itemlist = []
    data = scrapertools.cache_page(item.url)
    item.url = host
    patron = '<li class="lcc"><a href=".*?ver([^"]+)" class="lcc">([^<]+)</a></li>'

    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"ver"+scrapedurl)
        title = scrapedtitle
        thumbnail = item.thumbnail
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="link" , title=title , url=url, thumbnail=thumbnail, plot=plot))
    return itemlist


def link(item):
    logger.info("pelisalacarta.channels.animelatino link")
    itemlist=[]
    lista = {"videoVTLPS":"http://www.4shared.com/web/embed/file/","videoVTLPSync":"http://www.4sync.com/web/embed/file/","videoVTLPFlv":"http://www.4shared.com/web/embed/file/","videoVTLPSh":"http://www.4shared.com/web/embed/file/","videoVTLPShh":"http://www.4shared.com/web/embed/file/","videoVTLPSv":"http://www.anime-latino.net/server/stream/sendjw.php?id=","videoVTLPMp":"http://www.anime-latino.net/server/stream/mp4.php?id=","videoVTLPCl":"http://cloud.mail.ru/public/","videoVTLPK":"/server/stream/pica.php?id=","videoVTLPGl":"http://www.anime-latino.net/server/stream/go.php?id=","videoVTLPZ":"http://www.anime-latino.net/server/stream/iza.php?id=","videoVTLPYoga":"http://www.anime-latino.net/server/stream/yoga.php?id=","videoVTLPKami":"http://anime-latino.net/server/stream/kami.php?id=","videoVTLPAz":"http://anime-latino.net/server/stream/amazon.php?id=","videoVTLPAmz":"//my.mp4link.com/embed/amazonv1/code=","videoVTLPVm":"http://anime-latino.net/server/stream/vimeo.php?id=","videoVTLPYr":"http://anime-latino.net/server/stream/your.php?id=","videoVTLPX":"http://anime-latino.net/server/stream/video.php?id=","videoVTLPZp":"http://anime-latino.net/server/gkzp/?zp=","videoVTLPDcg":"https://docs.google.com/file/d/","videoVTLPOk":"http://ok.ru/videoembed/","videoVTLPVidzi":"http://vidzi.tv/embed-","videoVTLPOpen":"https://openload.co/embed","videoVTLPVimple":"http://player.vimple.ru/content/preloader.swf?id=","videoVTLPDay":"//www.dailymotion.com/swf/","videoVTLPNetu":"http://hqq.tv/player/embed_player.php?vid=","videoVTLPVk":"http://f6.videosxd.org/v.php?v=","videoVTLPIframe":"http://anime-latino.net/","videoVTLPYoutube":"http://anime-latino.net/server/stream/html5.php?x=","videoVTLPMyspace":"https://myspace.com/play/video/","videoVTLPRutube":"http://rutube.ru/play/embed/","videoVTLPFacebook":"http://anime-latino.net/server/facebook.php?vidatraslapc=1&reproductor="}

    data = scrapertools.cache_page(item.url)

    '''<script type="text/javascript">videoVTLPRutube('4578364');</script>'''

    patron = '<script type = \'text/javascript\'>([^\(]+)\(\'([^\']+)\'\);</script>'

    matches = re.compile(patron,re.DOTALL).findall(data)
    for scrapedtitle, scrapedurl in matches:
        scrapedtitle = scrapedtitle.strip(' ')
        if lista.has_key(scrapedtitle):
           url=lista[scrapedtitle]+scrapedurl
           title = "ver en "+url
           thumbnail = ""
           plot = ""
           if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
           itemlist.append( Item(channel=__channel__, action="findvideos" , title=title , url=url, thumbnail=thumbnail, plot=plot))


    '''<script type="text/javascript">videoVTLPRutube('4578364');</script>'''

    patron = '<script type="text\/javascript\">([^\(]+)\(\'([^\']+)\'\);<\/script>'
    matches = re.compile(patron,re.DOTALL).findall(data)
    for scrapedtitle, scrapedurl in matches:
        scrapedtitle = scrapedtitle.strip(' ')
        if lista.has_key(scrapedtitle):
           url = lista[scrapedtitle]+scrapedurl
           title = "ver en "+url
           thumbnail = ""
           plot = ""
           if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
           itemlist.append( Item(channel=__channel__, action="findvideos" , title=title , url=url, thumbnail=thumbnail, plot=plot))
    return itemlist

Re: Estoy estancado necesito un ayuda por favor

Publicado: 14 Jun 2016, 22:02
por SeiTaN
He probado con un enlace de vk y si va.
Imagen

Cuidado con los indentados, te paso como lo he dejado para que compares con lo tuyo.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# Canal (Anime Latino) por Hernan_Ar_c
# ------------------------------------------------------------

import urlparse,urllib2,urllib,re
import os, sys

from core import logger
from core import config
from core import scrapertools
from core.item import Item
from servers import servertools

__channel__ = "animelatino"
__category__ = "A"
__type__ = "generic"
__title__ = "Animelatino"
__language__ = "ES"

DEBUG = config.get_setting("debug")

host="http://anime-latino.net"
def isGeneric():
    return True

def mainlist(item):
    logger.info("pelisalacarta.channels.animelatino mainlist")

    itemlist = []
    itemlist.append( Item(channel=__channel__, title="Generos", action="GEN", url=host))
    itemlist.append( Item(channel=__channel__, title="Alfabetico", action="LET", url=host))

    return itemlist

def TS(item):
    logger.info("pelisalacarta.channels.animelatino TS")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<div class="bl"> <a href="([^"]+)" title="([^"]+)"><img src="([^"]+)".*?class="im" /></a>'
    #    patron +='<a href="([^"]+)" title="([^"]+)">[^<]'
    #    patron +='<div class="poster_efecto"><span>([^<]+)<.*?div>[^<]'
    #    patron +='<img.*?src="([^"]+)"'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
        url = urlparse.urljoin(item.url,scrapedurl)
        title = scrapedtitle
        thumbnail = host+scrapedthumbnail
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="TS" , title=title , url=url, thumbnail=thumbnail, plot=plot))
    return itemlist
    #Paginacion

#    patron  = '<li><a class="next page-numbers local-link" href="([^"]+)">&raquo;.*?li>'
#    next_page_url = scrapertools.find_single_match(data,'<li><a class="next page-numbers local-link" href="([^"]+)">&raquo;.*?li>')
#    if next_page_url!="":
#        import inspect
#        itemlist.append(
#            Item(
#                channel = __channel__,
#                action = "TS",
#                title = ">> Página siguiente",
#                url = urlparse.urljoin( item.url, next_page_url )
#            )
#        )
#    return itemlist

def GEN(item):
    logger.info("pelisalacarta.channels.animelatino GEN")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<li><a href="/genero([^"]+)" class="let">([^<]+)</a></li>'
    # patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"genero"+scrapedurl)
        title = scrapedtitle
        # title = title.replace("&","x");
        thumbnail = ""
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="LISTA" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist

def LET(item):
    logger.info("pelisalacarta.channels.animelatino LET")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<li><a href="/letra([^"]+)" class="let">([^<]+)</a></li>'
    # patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"letra"+scrapedurl)
        title = scrapedtitle
        # title = title.replace("&","x");
        thumbnail = ""
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="LISTA" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist

def LISTA(item):
    logger.info("pelisalacarta.channels.animelatino LISTA")
    itemlist = []
    data = scrapertools.cache_page(item.url)
    item.url=host
    patron = '<div class="bl"> <a href=".*?/anime([^"]+)" title="([^"]+)"><img src="([^"]+)" alt=.*?/a>'
    #   patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
        url = urlparse.urljoin(item.url,"anime"+scrapedurl)
        title = scrapedtitle
        # title = title.replace("&","x");
        thumbnail = host+scrapedthumbnail
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="EP" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist

def EP(item):
    logger.info("pelisalacarta.channels.animelatino EP")
    itemlist = []
    data = scrapertools.cache_page(item.url)
    item.url = host
    patron = '<li class="lcc"><a href=".*?ver([^"]+)" class="lcc">([^<]+)</a></li>'

    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"ver"+scrapedurl)
        title = scrapedtitle
        thumbnail = item.thumbnail
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="link" , title=title , url=url, thumbnail=thumbnail, plot=plot))
    return itemlist


def link(item):
    logger.info("pelisalacarta.channels.animelatino link")
    itemlist=[]
    lista = {"videoVTLPS":"http://www.4shared.com/web/embed/file/","videoVTLPSync":"http://www.4sync.com/web/embed/file/","videoVTLPFlv":"http://www.4shared.com/web/embed/file/","videoVTLPSh":"http://www.4shared.com/web/embed/file/","videoVTLPShh":"http://www.4shared.com/web/embed/file/","videoVTLPSv":"http://www.anime-latino.net/server/stream/sendjw.php?id=","videoVTLPMp":"http://www.anime-latino.net/server/stream/mp4.php?id=","videoVTLPCl":"http://cloud.mail.ru/public/","videoVTLPK":"/server/stream/pica.php?id=","videoVTLPGl":"http://www.anime-latino.net/server/stream/go.php?id=","videoVTLPZ":"http://www.anime-latino.net/server/stream/iza.php?id=","videoVTLPYoga":"http://www.anime-latino.net/server/stream/yoga.php?id=","videoVTLPKami":"http://anime-latino.net/server/stream/kami.php?id=","videoVTLPAz":"http://anime-latino.net/server/stream/amazon.php?id=","videoVTLPAmz":"//my.mp4link.com/embed/amazonv1/code=","videoVTLPVm":"http://anime-latino.net/server/stream/vimeo.php?id=","videoVTLPYr":"http://anime-latino.net/server/stream/your.php?id=","videoVTLPX":"http://anime-latino.net/server/stream/video.php?id=","videoVTLPZp":"http://anime-latino.net/server/gkzp/?zp=","videoVTLPDcg":"https://docs.google.com/file/d/","videoVTLPOk":"http://ok.ru/videoembed/","videoVTLPVidzi":"http://vidzi.tv/embed-","videoVTLPOpen":"https://openload.co/embed","videoVTLPVimple":"http://player.vimple.ru/content/preloader.swf?id=","videoVTLPDay":"//www.dailymotion.com/swf/","videoVTLPNetu":"http://hqq.tv/player/embed_player.php?vid=","videoVTLPVk":"http://f6.videosxd.org/v.php?v=","videoVTLPIframe":"http://anime-latino.net/","videoVTLPYoutube":"http://anime-latino.net/server/stream/html5.php?x=","videoVTLPMyspace":"https://myspace.com/play/video/","videoVTLPRutube":"http://rutube.ru/play/embed/","videoVTLPFacebook":"http://anime-latino.net/server/facebook.php?vidatraslapc=1&reproductor="}

    data = scrapertools.cache_page(item.url)

    '''<script type="text/javascript">videoVTLPRutube('4578364');</script>'''

    patron = '<script type = \'text/javascript\'>([^\(]+)\(\'([^\']+)\'\);</script>'

    matches = re.compile(patron,re.DOTALL).findall(data)
    for scrapedtitle, scrapedurl in matches:
        scrapedtitle = scrapedtitle.strip(' ')
        if lista.has_key(scrapedtitle):
            url=lista[scrapedtitle]+scrapedurl
            title = "ver en "+url
            thumbnail = ""
            plot = ""
            if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
            itemlist.append( Item(channel=__channel__, action="findvideos" , title=title , url=url, thumbnail=thumbnail, plot=plot))


    '''<script type="text/javascript">videoVTLPRutube('4578364');</script>'''

    patron = '<script type="text\/javascript\">([^\(]+)\(\'([^\']+)\'\);<\/script>'
    matches = re.compile(patron,re.DOTALL).findall(data)
    for scrapedtitle, scrapedurl in matches:
        scrapedtitle = scrapedtitle.strip(' ')
        if lista.has_key(scrapedtitle):
            url = lista[scrapedtitle]+scrapedurl
            title = "ver en "+url
            thumbnail = ""
            plot = ""
            if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
            itemlist.append( Item(channel=__channel__, action="findvideos" , title=title , url=url, thumbnail=thumbnail, plot=plot))
    return itemlist

Re: Estoy estancado necesito un ayuda por favor

Publicado: 15 Jun 2016, 13:37
por Hernan_Ar_c
Sera que tengo mal los conectores de vk??? a mi me aparece esto...
Imagen
y con el de zippyshare me dice exctamente lo mismo...

Re: Estoy estancado necesito un ayuda por favor

Publicado: 15 Jun 2016, 21:49
por SeiTaN
He estado revisando tu codigo y hay algunas cosas raras, de momento he cambiado algunas cosas que a mi no me iban.

Sobre los videos en sí... con zippyshare necesitas cuenta con real-brid, también muchos videos están encapsulados y por lo tanto necesita el metodo "play" para pasarle la url directamente.

Mañana con más tiempo te paso hecho la mayoría y ya puedes ir tu puliendo cosillas que deje pendientes ;)

Re: Estoy estancado necesito un ayuda por favor

Publicado: 16 Jun 2016, 18:47
por SeiTaN

Código: Seleccionar todo

# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# Canal (Anime Latino) por Hernan_Ar_c
# ------------------------------------------------------------

import urlparse,urllib2,urllib,re
import os, sys

from core import logger
from core import config
from core import scrapertools
from core.item import Item
from servers import servertools

__channel__ = "animelatino"
__category__ = "A"
__type__ = "generic"
__title__ = "Animelatino"
__language__ = "ES"

DEBUG = config.get_setting("debug")

host="http://anime-latino.net"
def isGeneric():
    return True

def mainlist(item):
    logger.info("pelisalacarta.channels.animelatino mainlist")

    itemlist = []
    itemlist.append( Item(channel=__channel__, title="Generos", action="GEN", url=host))
    itemlist.append( Item(channel=__channel__, title="Alfabetico", action="LET", url=host))

    return itemlist

def TS(item):
    logger.info("pelisalacarta.channels.animelatino TS")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<div class="bl"> <a href="([^"]+)" title="([^"]+)"><img src="([^"]+)".*?class="im" /></a>'
    #    patron +='<a href="([^"]+)" title="([^"]+)">[^<]'
    #    patron +='<div class="poster_efecto"><span>([^<]+)<.*?div>[^<]'
    #    patron +='<img.*?src="([^"]+)"'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
        url = urlparse.urljoin(item.url,scrapedurl)
        title = scrapedtitle
        thumbnail = host+scrapedthumbnail
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="TS" , title=title , url=url, thumbnail=thumbnail, plot=plot))
    return itemlist
    #Paginacion

#    patron  = '<li><a class="next page-numbers local-link" href="([^"]+)">&raquo;.*?li>'
#    next_page_url = scrapertools.find_single_match(data,'<li><a class="next page-numbers local-link" href="([^"]+)">&raquo;.*?li>')
#    if next_page_url!="":
#        import inspect
#        itemlist.append(
#            Item(
#                channel = __channel__,
#                action = "TS",
#                title = ">> Página siguiente",
#                url = urlparse.urljoin( item.url, next_page_url )
#            )
#        )
#    return itemlist

def GEN(item):
    logger.info("pelisalacarta.channels.animelatino GEN")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<li><a href="/genero([^"]+)" class="let">([^<]+)</a></li>'
    # patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"genero"+scrapedurl)
        title = scrapedtitle
        # title = title.replace("&","x");
        thumbnail = ""
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="LISTA" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist

def LET(item):
    logger.info("pelisalacarta.channels.animelatino LET")
    itemlist = []
    data = scrapertools.cache_page(item.url)

    patron = '<li><a href="/letra([^"]+)" class="let">([^<]+)</a></li>'
    # patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron,re.DOTALL).findall(data)

    for scrapedurl,scrapedtitle in matches:
        url = urlparse.urljoin(item.url,"letra"+scrapedurl)
        title = scrapedtitle
        # title = title.replace("&","x");
        thumbnail = ""
        plot = ""
        if (DEBUG): logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append( Item(channel=__channel__, action="LISTA" , title=title , url=url, thumbnail=thumbnail, plot=plot))

    return itemlist


def LISTA(item):
    logger.info("pelisalacarta.channels.animelatino LISTA")
    itemlist = []
    data = scrapertools.cache_page(item.url)
    item.url = host
    patron = '<div class="bl"> <a href=".*?/anime([^"]+)" title="([^"]+)"><img src="([^"]+)" alt=.*?/a>'
    #   patron = '<li class=".*?="([^"]+)".*?>([^<]+)</a>'
    matches = re.compile(patron, re.DOTALL).findall(data)

    for scrapedurl, scrapedtitle, scrapedthumbnail in matches:
        url = urlparse.urljoin(item.url, "anime"+scrapedurl)
        title = scrapedtitle
        # title = title.replace("&","x");
        thumbnail = host+scrapedthumbnail
        plot = ""
        if DEBUG:
            logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append(Item(channel=__channel__, action="episodios", title=title, url=url, thumbnail=thumbnail,
                             plot=plot))

    return itemlist


def episodios(item):
    logger.info("pelisalacarta.channels.animelatino episodios")
    itemlist = []
    data = scrapertools.cache_page(item.url)
    data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8")
    logger.info("data -- {0}".format(data))

    plot = scrapertools.find_single_match(data, 'Sinopsis: </strong>(.*?)</div>')

    patron = '<li class="lcc"><a href="([^"]+)" class="lcc">([^<]+)</a></li>'

    matches = re.compile(patron, re.DOTALL).findall(data)

    for scrapedurl, scrapedtitle in matches:
        url = urlparse.urljoin(host, scrapedurl)
        title = scrapedtitle
        thumbnail = item.thumbnail
        if DEBUG:
            logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append(Item(channel=__channel__, action="findvideos", title=title, url=url, thumbnail=thumbnail,
                             plot=plot))
    return itemlist


def findvideos(item):
    logger.info("pelisalacarta.channels.animelatino findvideos")
    itemlist = []

    lista = {"videoVTLPS": "http://www.4shared.com/web/embed/file/",
             "videoVTLPSync": "http://www.4sync.com/web/embed/file/",
             "videoVTLPFlv": "http://www.4shared.com/web/embed/file/",
             "videoVTLPSh": "http://www.4shared.com/web/embed/file/",
             "videoVTLPShh": "http://www.4shared.com/web/embed/file/",
             "videoVTLPSv": "http://www.anime-latino.net/server/stream/sendjw.php?id=",
             "videoVTLPMp": "http://www.anime-latino.net/server/stream/mp4.php?id=",
             "videoVTLPCl": "http://cloud.mail.ru/public/", "videoVTLPK": "/server/stream/pica.php?id=",
             "videoVTLPGl": "http://www.anime-latino.net/server/stream/go.php?id=",
             "videoVTLPZ": "http://www.anime-latino.net/server/stream/iza.php?id=",
             "videoVTLPYoga": "http://www.anime-latino.net/server/stream/yoga.php?id=",
             "videoVTLPKami": "http://anime-latino.net/server/stream/kami.php?id=",
             "videoVTLPAz": "http://anime-latino.net/server/stream/amazon.php?id=",
             "videoVTLPAmz": "//my.mp4link.com/embed/amazonv1/code=",
             "videoVTLPVm": "http://anime-latino.net/server/stream/vimeo.php?id=",
             "videoVTLPYr": "http://anime-latino.net/server/stream/your.php?id=",
             "videoVTLPX": "http://anime-latino.net/server/stream/video.php?id=",
             # "videoVTLPZp": "http://anime-latino.net/server/gkzp/?zp=",
             "videoVTLPDcg": "https://docs.google.com/file/d/", "videoVTLPOk": "http://ok.ru/videoembed/",
             "videoVTLPVidzi": "http://vidzi.tv/embed-", "videoVTLPOpen": "https://openload.co/embed",
             "videoVTLPVimple": "http://player.vimple.ru/content/preloader.swf?id=",
             "videoVTLPDay": "//www.dailymotion.com/swf/",
             "videoVTLPNetu": "http://hqq.tv/player/embed_player.php?vid=",
             "videoVTLPVk": "http://f6.videosxd.org/v.php?v=", "videoVTLPIframe": "http://anime-latino.net/",
             "videoVTLPYoutube": "http://anime-latino.net/server/stream/html5.php?x=",
             "videoVTLPMyspace": "https://myspace.com/play/video/",
             "videoVTLPRutube": "http://rutube.ru/play/embed/",
             "videoVTLPFacebook": "http://anime-latino.net/server/facebook.php?vidatraslapc=1&reproductor="}

    data = scrapertools.cache_page(item.url)
    data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8")
    logger.info("data -- {0}".format(data))

    '''<script type="text/javascript">videoVTLPRutube('4578364');</script>'''

    patron = '<center>\s+<script type\s*=\s*[",\']text/javascript[",\']>\s*(.*?)\(\'(.*?)\'\);</script>'

    matches = re.compile(patron, re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    for scrapedtitle, scrapedurl in matches:
        scrapedtitle = scrapedtitle.strip()
        if scrapedtitle in lista:
            url = lista[scrapedtitle]+scrapedurl
        else:
            url = scrapedurl
        title = "ver en " + scrapedtitle.replace("videoVTLP", "")
        thumbnail = ""
        plot = ""
        if DEBUG:
            logger.info("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"])")
        itemlist.append(Item(channel=__channel__, action="play", title=title, url=url, thumbnail=thumbnail,
                             plot=plot))

    return itemlist


def play(item):
    logger.info("pelisalacarta.channels.animelatino play")

    itemlist = []
    # logger.info("item es {0}".format(item.tostring()))
    # logger.info("hola {0}".format(host))

    if "anime-latino.net/" in item.url:
        data = scrapertools.cache_page(item.url)
        # logger.info("data-- {0}".format(data))

        url = scrapertools.find_single_match(data, "file:'(.*?)'")
        thumbnail = scrapertools.find_single_match(data, "image: '(.*?)'").replace("\\", "")

        itemlist.append(Item(channel=__channel__, title=item.title, url=url, server="directo", action="play",
                             thumbnail=thumbnail))

    else:
        itemlist = servertools.find_video_items(data=item.url)

        for videoitem in itemlist:
            videoitem.title = item.title
            videoitem.channel = __channel__

    return itemlist

bueno he probado y va, cambios...

- en "LISTA" he hecho que el action vaya a "episodios", esto se hace por si quieres poner la opción de "agregar a la biblioteca", es el método que se ejecuta para actualizarte las series, ya que te comprueba los episodios.
- creado "findvideos" con la mayoría del codigo que tenías para evitar varios itemlist consecutivos, es decir, tu marcabas por ejemplo en "ver url..........." y luego te ponia "encontrado enlace en....", ahora sólo pone "ver en ...." y te carga el video.
- creado "play" ya que hay urls a videos directamente, es decir, son conectores que no existen en servers.

suerte y a toquetear ;)

Re: Estoy estancado necesito un ayuda por favor

Publicado: 16 Jun 2016, 20:42
por Hernan_Ar_c
Muchas gracias SeiTaN!!!
Estuve viendo por arriba el codigo y hay algunas cosas que todavia no las entiendo pero ya me voy a poner a investigar y aprender, que es lo mejor, te hago una pregunta siguen sin funcionarme los videos de vk segun vi en tu respuesta anterior te funcionaba, cual puede ser el problema?
Ah y estoy preparando otro canal de peliculas tambien en latino, me parecio ver que tiene opciones para idioma castellano y latino, me queda organizar un poco los menus y la paginacion.

Re: Estoy estancado necesito un ayuda por favor

Publicado: 16 Jun 2016, 21:24
por SeiTaN
De nada,

A este canal aún le falta, va lo básico y faltan detalles a pulir.

Según vi la web tiene más cosas, más menús, buscador, que aparezca el nombre del servidor en los enlaces, que las url a servidores externos se llamen a todos correctamente (findvideos y su replace), mirar si es factible añadir, plot, thumbnail, etc, en todos los elementos, desde el principio hasta que se carga el video...

Depende de lo mucho que te lo quieras currar.

Te recomendaria si me permites por "estilo visual", que los métodos no los definas como palabras en mayúsculas, esto se suele hacer cuando creas constantes y "choca" a la persona que está acostumbrada a programar y es más cómodo usar nombres completos en vez de acortarlos. Si quieres aprender mejor python y acostumbrarte a seguir unas pautas, te sugiera que utilices un inspeccionador de código, así verás posibles problemas y notarás que mejoras más rápidamente, ya que el inspeccionador te recomendará que corregir.

Un saludo.

P.D: vaya tela que anime-latino enlace videos de animeflv :evil: