javtasty: fix patron y host
This commit is contained in:
@@ -6,21 +6,18 @@ from core import httptools
|
|||||||
from core import scrapertools
|
from core import scrapertools
|
||||||
from platformcode import config, logger
|
from platformcode import config, logger
|
||||||
|
|
||||||
host = "http://www.javtasty.com"
|
host = "https://www.javwhores.com"
|
||||||
|
|
||||||
|
|
||||||
def mainlist(item):
|
def mainlist(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
itemlist.append(item.clone(action="lista", title="Nuevos Vídeos", url=host + "/latest-updates/"))
|
||||||
itemlist.append(item.clone(action="lista", title="Nuevos Vídeos", url=host + "/videos"))
|
itemlist.append(item.clone(action="lista", title="Mejor Valorados", url=host + "/top-rated/"))
|
||||||
itemlist.append(item.clone(action="lista", title="Mejor Valorados", url=host + "/videos?o=tr"))
|
itemlist.append(item.clone(action="lista", title="Más Vistos", url=host + "/most-popular/"))
|
||||||
itemlist.append(item.clone(action="lista", title="Más Vistos", url=host + "/videos?o=mv"))
|
itemlist.append(item.clone(action="categorias", title="Categorías", url=host + "/categories/"))
|
||||||
itemlist.append(item.clone(action="lista", title="Ordenados por duración", url=host + "/videos?o=lg"))
|
|
||||||
itemlist.append(item.clone(action="categorias", title="Categorías", url=host + "/categories"))
|
|
||||||
itemlist.append(item.clone(title="Buscar...", action="search"))
|
itemlist.append(item.clone(title="Buscar...", action="search"))
|
||||||
itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False))
|
itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False))
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
@@ -33,7 +30,7 @@ def configuracion(item):
|
|||||||
|
|
||||||
def search(item, texto):
|
def search(item, texto):
|
||||||
logger.info()
|
logger.info()
|
||||||
item.url = "%s/search?search_query=%s&search_type=videos" % (host, texto)
|
item.url = "%s/search/%s/" % (host, texto)
|
||||||
item.extra = texto
|
item.extra = texto
|
||||||
try:
|
try:
|
||||||
return lista(item)
|
return lista(item)
|
||||||
@@ -48,83 +45,66 @@ def search(item, texto):
|
|||||||
def lista(item):
|
def lista(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
# Descarga la pagina
|
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
|
|
||||||
action = "play"
|
action = "play"
|
||||||
if config.get_setting("menu_info", "javtasty"):
|
if config.get_setting("menu_info", "javtasty"):
|
||||||
action = "menu_info"
|
action = "menu_info"
|
||||||
|
patron = 'div class="video-item.*?href="([^"]+)".*?'
|
||||||
# Extrae las entradas
|
patron += 'data-original="([^"]+)" '
|
||||||
patron = '<div class="well wellov well-sm".*?href="([^"]+)".*?data-original="([^"]+)" title="([^"]+)"(.*?)<div class="duration">(?:.*?</i>|)\s*([^<]+)<'
|
patron += 'alt="([^"]+)"(.*?)fa fa-clock-o"></i>([^<]+)<'
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data, patron)
|
||||||
for scrapedurl, scrapedthumbnail, scrapedtitle, quality, duration in matches:
|
for scrapedurl, scrapedthumbnail, scrapedtitle, quality, duration in matches:
|
||||||
scrapedurl = urlparse.urljoin(host, scrapedurl)
|
scrapedurl = urlparse.urljoin(host, scrapedurl)
|
||||||
scrapedtitle = scrapedtitle.strip()
|
scrapedtitle = scrapedtitle.strip()
|
||||||
if duration:
|
if duration:
|
||||||
scrapedtitle = "%s - %s" % (duration.strip(), scrapedtitle)
|
scrapedtitle = "%s - %s" % (duration.strip(), scrapedtitle)
|
||||||
|
|
||||||
if '>HD<' in quality:
|
if '>HD<' in quality:
|
||||||
scrapedtitle += " [COLOR red][HD][/COLOR]"
|
scrapedtitle += " [COLOR red][HD][/COLOR]"
|
||||||
|
|
||||||
itemlist.append(item.clone(action=action, title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
|
itemlist.append(item.clone(action=action, title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
|
||||||
fanart=scrapedthumbnail))
|
fanart=scrapedthumbnail))
|
||||||
|
|
||||||
# Extrae la marca de siguiente página
|
# Extrae la marca de siguiente página
|
||||||
next_page = scrapertools.find_single_match(data, 'href="([^"]+)" class="prevnext">')
|
next_page = scrapertools.find_single_match(data, 'next"><a href="([^"]+)')
|
||||||
if next_page:
|
if next_page:
|
||||||
next_page = next_page.replace("&", "&")
|
itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=host + next_page))
|
||||||
itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page))
|
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def categorias(item):
|
def categorias(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
# Descarga la pagina
|
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
|
patron = '(?s)<a class="item" href="([^"]+)".*?'
|
||||||
# Extrae las entradas
|
patron += 'src="([^"]+)" '
|
||||||
patron = '<div class="col-sm-4.*?href="([^"]+)".*?data-original="([^"]+)" title="([^"]+)"'
|
patron += 'alt="([^"]+)"'
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data, patron)
|
||||||
for scrapedurl, scrapedthumbnail, scrapedtitle in matches:
|
for scrapedurl, scrapedthumbnail, scrapedtitle in matches:
|
||||||
scrapedurl = urlparse.urljoin(host, scrapedurl)
|
scrapedurl = urlparse.urljoin(host, scrapedurl)
|
||||||
scrapedthumbnail = urlparse.urljoin(host, scrapedthumbnail)
|
scrapedthumbnail = urlparse.urljoin(host, scrapedthumbnail)
|
||||||
itemlist.append(item.clone(action="lista", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
|
itemlist.append(item.clone(action="lista", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
|
||||||
fanart=scrapedthumbnail))
|
fanart=scrapedthumbnail))
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def play(item):
|
def play(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
|
videourl = scrapertools.find_single_match(data, "video_url:\s*'([^']+)'")
|
||||||
videourl = scrapertools.find_single_match(data, "var video_sd\s*=\s*'([^']+)'")
|
|
||||||
if videourl:
|
if videourl:
|
||||||
itemlist.append(['.mp4 [directo]', videourl])
|
itemlist.append(['.mp4 [directo]', videourl])
|
||||||
videourl = scrapertools.find_single_match(data, "var video_hd\s*=\s*'([^']+)'")
|
videourl = scrapertools.find_single_match(data, "video_alt_url:\s*'([^']+)'")
|
||||||
if videourl:
|
if videourl:
|
||||||
itemlist.append(['.mp4 HD [directo]', videourl])
|
itemlist.append(['.mp4 HD [directo]', videourl])
|
||||||
|
|
||||||
if item.extra == "play_menu":
|
if item.extra == "play_menu":
|
||||||
return itemlist, data
|
return itemlist, data
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def menu_info(item):
|
def menu_info(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
video_urls, data = play(item.clone(extra="play_menu"))
|
video_urls, data = play(item.clone(extra="play_menu"))
|
||||||
itemlist.append(item.clone(action="play", title="Ver -- %s" % item.title, video_urls=video_urls))
|
itemlist.append(item.clone(action="play", title="Ver -- %s" % item.title, video_urls=video_urls))
|
||||||
|
|
||||||
bloque = scrapertools.find_single_match(data, '<div class="carousel-inner"(.*?)<div class="container">')
|
bloque = scrapertools.find_single_match(data, '<div class="carousel-inner"(.*?)<div class="container">')
|
||||||
matches = scrapertools.find_multiple_matches(bloque, 'src="([^"]+)"')
|
matches = scrapertools.find_multiple_matches(bloque, 'src="([^"]+)"')
|
||||||
for i, img in enumerate(matches):
|
for i, img in enumerate(matches):
|
||||||
@@ -132,5 +112,4 @@ def menu_info(item):
|
|||||||
continue
|
continue
|
||||||
title = "Imagen %s" % (str(i))
|
title = "Imagen %s" % (str(i))
|
||||||
itemlist.append(item.clone(action="", title=title, thumbnail=img, fanart=img))
|
itemlist.append(item.clone(action="", title=title, thumbnail=img, fanart=img))
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
Reference in New Issue
Block a user