Merge pull request #583 from paeznet/master

Arreglo codigo.
This commit is contained in:
Alfa
2019-03-22 15:03:27 -05:00
committed by GitHub
56 changed files with 564 additions and 253 deletions
+4 -4
View File
@@ -46,7 +46,7 @@ def categorias(item):
scrapedthumbnail = "https:" + scrapedthumbnail scrapedthumbnail = "https:" + scrapedthumbnail
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'...<a href="([^"]+)" class="next">&#187;</a>') next_page = scrapertools.find_single_match(data,'...<a href="([^"]+)" class="next">&#187;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -57,7 +57,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="item">.*?' patron = '<div class="item">.*?'
patron += '<a href="([^"]+)" title="(.*?)">.*?' patron += '<a href="([^"]+)" title="(.*?)">.*?'
@@ -72,7 +72,7 @@ def lista(item):
thumbnail = "https:" + scrapedthumbnail thumbnail = "https:" + scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = contentTitle)) fanart=thumbnail, plot=plot, contentTitle = contentTitle))
next_page = scrapertools.find_single_match(data,'...<a href="([^"]+)" class="next">&#187;</a>') next_page = scrapertools.find_single_match(data,'...<a href="([^"]+)" class="next">&#187;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -82,7 +82,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
itemlist = servertools.find_video_items(data=data) itemlist = servertools.find_video_items(data=data)
for videoitem in itemlist: for videoitem in itemlist:
videoitem.title = item.fulltitle videoitem.title = item.fulltitle
+1 -1
View File
@@ -70,7 +70,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot,
contentTitle = scrapedtitle)) fanart=thumbnail, contentTitle = scrapedtitle))
next_page = scrapertools.find_single_match(data, '<span class="text16">\d+</span> <a href="..([^"]+)"') next_page = scrapertools.find_single_match(data, '<span class="text16">\d+</span> <a href="..([^"]+)"')
if next_page: if next_page:
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+6 -5
View File
@@ -62,14 +62,14 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return sorted(itemlist, key=lambda i: i.title)
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="alsoporn_prev">.*?' patron = '<div class="alsoporn_prev">.*?'
patron += '<a href="([^"]+)">.*?' patron += '<a href="([^"]+)">.*?'
@@ -82,7 +82,8 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = scrapedtitle)) fanart=thumbnail, plot=plot, contentTitle = scrapedtitle))
next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)" target="_self"><span class="alsoporn_page">NEXT</span></a>') next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)" target="_self"><span class="alsoporn_page">NEXT</span></a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -93,7 +94,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
scrapedurl = scrapertools.find_single_match(data,'<iframe frameborder=0 scrolling="no" src=\'([^\']+)\'') scrapedurl = scrapertools.find_single_match(data,'<iframe frameborder=0 scrolling="no" src=\'([^\']+)\'')
data = scrapertools.cachePage(scrapedurl) data = scrapertools.cachePage(scrapedurl)
scrapedurl1 = scrapertools.find_single_match(data,'<iframe src="(.*?)"') scrapedurl1 = scrapertools.find_single_match(data,'<iframe src="(.*?)"')
+4 -4
View File
@@ -49,7 +49,7 @@ def catalogo(item):
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li class="arrow"><a rel="next" href="([^"]+)">&raquo;</a>') next_page = scrapertools.find_single_match(data,'<li class="arrow"><a rel="next" href="([^"]+)">&raquo;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -71,8 +71,8 @@ def categorias(item):
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return sorted(itemlist, key=lambda i: i.title)
def lista(item): def lista(item):
@@ -91,7 +91,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot,
contentTitle = title)) fanart=thumbnail, contentTitle = title))
next_page = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"') next_page = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+2 -2
View File
@@ -50,7 +50,7 @@ def categorias(item):
scrapedthumbnail = "http:" + scrapedthumbnail scrapedthumbnail = "http:" + scrapedthumbnail
scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/latest/" scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/latest/"
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -69,7 +69,7 @@ def lista(item):
thumbnail = "https:" + scrapedthumbnail thumbnail = "https:" + scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = scrapedtitle)) fanart=thumbnail, plot=plot, contentTitle = scrapedtitle))
next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next" title="Next">Next</a>') next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next" title="Next">Next</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+3 -3
View File
@@ -49,8 +49,8 @@ def categorias(item):
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
scrapedplot = "" scrapedplot = ""
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return sorted(itemlist, key=lambda i: i.title)
def lista(item): def lista(item):
@@ -68,7 +68,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot,
contentTitle = scrapedtitle, fanart=scrapedthumbnail)) contentTitle = scrapedtitle, fanart=thumbnail))
if item.extra: if item.extra:
next_page = scrapertools.find_single_match(data, '<li class="next">.*?from_videos\+from_albums:(\d+)') next_page = scrapertools.find_single_match(data, '<li class="next">.*?from_videos\+from_albums:(\d+)')
if next_page: if next_page:
+3 -3
View File
@@ -47,7 +47,7 @@ def catalogo(item):
scrapedplot = "" scrapedplot = ""
scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/movies" scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/movies"
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail , plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li class="arrow"><a rel="next" href="([^"]+)">&raquo;</a>') next_page = scrapertools.find_single_match(data,'<li class="arrow"><a rel="next" href="([^"]+)">&raquo;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -68,7 +68,7 @@ def categorias(item):
scrapedtitle = scrapedtitle scrapedtitle = scrapedtitle
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -86,7 +86,7 @@ def lista(item):
plot = "" plot = ""
year = "" year = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot,
contentTitle = title, infoLabels={'year':year} )) fanart=thumbnail, contentTitle = title, infoLabels={'year':year} ))
next_page = scrapertools.find_single_match(data,'<li class="arrow"><a rel="next" href="([^"]+)">&raquo;</a>') next_page = scrapertools.find_single_match(data,'<li class="arrow"><a rel="next" href="([^"]+)">&raquo;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+1 -1
View File
@@ -59,7 +59,7 @@ def lista(item):
plot = scrapertools.find_single_match(match,'<p class="summary">(.*?)</p>') plot = scrapertools.find_single_match(match,'<p class="summary">(.*?)</p>')
thumbnail = scrapertools.find_single_match(match,'<img src="([^"]+)"') thumbnail = scrapertools.find_single_match(match,'<img src="([^"]+)"')
itemlist.append( Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url, itemlist.append( Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url,
thumbnail=thumbnail, plot=plot, viewmode="movie") ) fanart=thumbnail, thumbnail=thumbnail, plot=plot, viewmode="movie") )
next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="siguiente">') next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="siguiente">')
if next_page!="": if next_page!="":
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
@@ -6,6 +6,7 @@ import urlparse
from core import scrapertools from core import scrapertools
from core.item import Item from core.item import Item
from platformcode import logger from platformcode import logger
from core import httptools
def mainlist(item): def mainlist(item):
@@ -18,7 +19,7 @@ def mainlist(item):
# ------------------------------------------------------ # ------------------------------------------------------
# Descarga la página # Descarga la página
# ------------------------------------------------------ # ------------------------------------------------------
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
# logger.info(data) # logger.info(data)
# ------------------------------------------------------ # ------------------------------------------------------
@@ -68,7 +69,7 @@ def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
# Descarga la página # Descarga la página
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
logger.info(data) logger.info(data)
# Extrae las películas # Extrae las películas
+1 -1
View File
@@ -69,7 +69,7 @@ def lista(item):
url="https:" + scrapedurl url="https:" + scrapedurl
thumbnail="https:" + scrapedthumbnail thumbnail="https:" + scrapedthumbnail
itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=url, thumbnail=thumbnail,
plot=scrapedplot) ) fanart=thumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li class="float-xs-right"><a href=\'([^\']+)\' title=\'Pagina \d+\'>') next_page = scrapertools.find_single_match(data,'<li class="float-xs-right"><a href=\'([^\']+)\' title=\'Pagina \d+\'>')
if next_page == "": if next_page == "":
next_page = scrapertools.find_single_match(data,'<li><a href=\'([^\']+)\' title=\'Pagina \d+\'>&raquo;</a>') next_page = scrapertools.find_single_match(data,'<li><a href=\'([^\']+)\' title=\'Pagina \d+\'>&raquo;</a>')
@@ -57,8 +57,8 @@ def lista(item):
for scrapedurl,scrapedthumbnail,scrapedtitle in matches: for scrapedurl,scrapedthumbnail,scrapedtitle in matches:
plot = "" plot = ""
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=url, thumbnail=scrapedthumbnail, itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=url,
plot=plot, contentTitle = scrapedtitle) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=plot, contentTitle = scrapedtitle) )
next_page = scrapertools.find_single_match(data, '<div class="naviright"><a href="([^"]+)">Siguiente &raquo;</a>') next_page = scrapertools.find_single_match(data, '<div class="naviright"><a href="([^"]+)">Siguiente &raquo;</a>')
if next_page: if next_page:
next_page = urlparse.urljoin(item.url, next_page) next_page = urlparse.urljoin(item.url, next_page)
+9 -2
View File
@@ -18,6 +18,7 @@ def mainlist(item):
itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/popular/")) itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/popular/"))
itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/top/")) itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/top/"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/channels/")) itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/channels/"))
itemlist.append( Item(channel=item.channel, title="PornStar" , action="categorias", url=host + "/pornstars/"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -50,7 +51,13 @@ def categorias(item):
scrapedtitle = scrapedtitle.replace("movies", "") + " (" + cantidad + ")" scrapedtitle = scrapedtitle.replace("movies", "") + " (" + cantidad + ")"
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page_url = scrapertools.find_single_match(data,'<li itemprop="url" class="current">.*?<a href="([^"]+)"')
if next_page_url!="":
next_page_url = urlparse.urljoin(item.url,next_page_url)
itemlist.append(item.clone(action="categorias", title="Página Siguiente >>", text_color="blue", url=next_page_url) )
if "/categories/" in item.url:
itemlist = sorted(itemlist, key=lambda i: i.title)
return itemlist return itemlist
@@ -69,7 +76,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail,
plot=plot, contentTitle = contentTitle) ) fanart=thumbnail, plot=plot, contentTitle = contentTitle) )
next_page_url = scrapertools.find_single_match(data,'<li itemprop="url" class="current">.*?<a href="([^"]+)"') next_page_url = scrapertools.find_single_match(data,'<li itemprop="url" class="current">.*?<a href="([^"]+)"')
if next_page_url!="": if next_page_url!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page_url = urlparse.urljoin(item.url,next_page_url)
+7 -4
View File
@@ -48,7 +48,7 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -59,11 +59,14 @@ def lista(item):
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<a href="([^"]+)" itemprop="url">.*?' patron = '<a href="([^"]+)" itemprop="url">.*?'
patron += '<img src="([^"]+)" alt="([^"]+)">.*?' patron += '<img src="([^"]+)" alt="([^"]+)">.*?'
patron += '<span itemprop="duration" class="length">(.*?)</span>' patron += '<span itemprop="duration" class="length">(.*?)</span>(.*?)<span class="thumb-info">'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,duracion in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,duracion,calidad in matches:
url = scrapedurl url = scrapedurl
title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle if ">HD<" in calidad:
title = "[COLOR yellow]" + duracion + "[/COLOR] " + "[COLOR red]" + "HD" + "[/COLOR] " +scrapedtitle
else:
title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle
contentTitle = scrapedtitle contentTitle = scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
+1 -1
View File
@@ -8,7 +8,7 @@ from core.item import Item
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
# BLOQUEO ESET INTERNET SECURITY
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
+2 -2
View File
@@ -30,7 +30,7 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -47,7 +47,7 @@ def lista(item):
for scrapedurl,scrapedtitle,scrapedthumbnail in matches: for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="findvideos", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="findvideos", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=plot , viewmode="movie") ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail , plot=plot , viewmode="movie") )
next_page = scrapertools.find_single_match(data,'<a href="([^"]+)">Next') next_page = scrapertools.find_single_match(data,'<a href="([^"]+)">Next')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+2 -2
View File
@@ -52,7 +52,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<a class="thumb tco1" href="([^"]+)">.*?' patron = '<a class="thumb tco1" href="([^"]+)">.*?'
patron += 'src="([^"]+)".*?' patron += 'src="([^"]+)".*?'
patron += 'alt="([^"]+)".*?' patron += 'alt="([^"]+)".*?'
@@ -69,7 +69,7 @@ def lista(item):
thumbnail = scrapedthumbnail + "|Referer=%s" %host thumbnail = scrapedthumbnail + "|Referer=%s" %host
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = contentTitle)) fanart=thumbnail, plot=plot, contentTitle = contentTitle))
next_page = scrapertools.find_single_match(data,'<a class="bgco2 tco3" rel="next" href="([^"]+)">&gt</a>') next_page = scrapertools.find_single_match(data,'<a class="bgco2 tco3" rel="next" href="([^"]+)">&gt</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+19 -11
View File
@@ -16,6 +16,7 @@ def mainlist(item):
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host)) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host))
itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/top-raped/")) itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/top-raped/"))
itemlist.append( Item(channel=item.channel, title="Modelos" , action="categorias", url=host + "/models/most-popular/"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -39,25 +40,32 @@ def categorias(item):
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<li class="thumb thumb-category">.*?' patron = '<li class="thumb thumb-\w+">.*?'
patron += '<a href="([^"]+)">.*?' patron += '<a href="([^"]+)">.*?'
patron += '<img class="lazy" data-original="([^"]+)">.*?' patron += '<img class="lazy" data-original="([^"]+)".*?'
patron += '<div class="name">([^"]+)</div>.*?' patron += '<div class="title">(.*?)</a>'
patron += '<div class="count">(\d+)</div>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,cantidad in matches: for scrapedurl,scrapedthumbnail,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle + " (" + cantidad + ")" title = scrapertools.find_single_match(scrapedtitle,'<div class="text">([^<]+)<')
if "/categories/" in item.url:
cantidad = scrapertools.find_single_match(scrapedtitle,'<div class="count">(\d+)</div>')
scrapedtitle = scrapertools.find_single_match(scrapedtitle,'<div class="name">([^<]+)</div>')
title = scrapedtitle + " (" + cantidad + ")"
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=title, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li class="pagination-next"><a href="([^"]+)">')
if next_page!="":
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="categorias", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="thumb">.*?' patron = '<div class="thumb">.*?'
patron += '<a href="([^"]+)".*?' patron += '<a href="([^"]+)".*?'
@@ -72,7 +80,7 @@ def lista(item):
plot = "" plot = ""
year = "" year = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = contentTitle)) fanart=thumbnail, plot=plot, contentTitle = contentTitle))
next_page = scrapertools.find_single_match(data,'<li class="pagination-next"><a href="([^"]+)">') next_page = scrapertools.find_single_match(data,'<li class="pagination-next"><a href="([^"]+)">')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -83,7 +91,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<meta property="og:video" content="([^"]+)"' patron = '<meta property="og:video" content="([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl in matches: for scrapedurl in matches:
@@ -77,11 +77,12 @@ def lista(item):
patron += '<img src="([^"]+)"' patron += '<img src="([^"]+)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail in matches: for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
title = scrapedtitle calidad = scrapertools.find_single_match(scrapedtitle, '(\(.*?\))')
title = "[COLOR yellow]" + calidad + "[/COLOR] " + scrapedtitle.replace( "%s" % calidad, "")
thumbnail = scrapedthumbnail.replace("jpg#", "jpg") thumbnail = scrapedthumbnail.replace("jpg#", "jpg")
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail,
plot=plot, fulltitle=title) ) fanart=thumbnail, plot=plot, fulltitle=title) )
next_page = scrapertools.find_single_match(data, '<div class="nav-previous"><a href="([^"]+)"') next_page = scrapertools.find_single_match(data, '<div class="nav-previous"><a href="([^"]+)"')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+1 -1
View File
@@ -147,7 +147,7 @@ def findvideos(item):
def play(item): def play(item):
logger.info() logger.info()
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
itemlist = servertools.find_video_items(data=data) itemlist = servertools.find_video_items(data=data)
for videoitem in itemlist: for videoitem in itemlist:
videoitem.title = item.fulltitle videoitem.title = item.fulltitle
+4 -4
View File
@@ -45,7 +45,7 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail , plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next">Next page &raquo;</a>') next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next">Next page &raquo;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -56,7 +56,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="video-thumb"><a href="([^"]+)" class="title".*?>([^"]+)</a>.*?' patron = '<div class="video-thumb"><a href="([^"]+)" class="title".*?>([^"]+)</a>.*?'
patron += '<span class="time">([^<]+)</span>.*?' patron += '<span class="time">([^<]+)</span>.*?'
@@ -69,7 +69,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = contentTitle)) fanart=thumbnail, plot=plot, contentTitle = contentTitle))
next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next">Next page &raquo;</a>') next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next">Next page &raquo;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -80,7 +80,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
scrapedurl = scrapertools.find_single_match(data,'<source data-fluid-hd src="([^"]+)/?br=\d+"') scrapedurl = scrapertools.find_single_match(data,'<source data-fluid-hd src="([^"]+)/?br=\d+"')
if scrapedurl=="": if scrapedurl=="":
scrapedurl = scrapertools.find_single_match(data,'<source src="([^"]+)/?br=\d+"') scrapedurl = scrapertools.find_single_match(data,'<source src="([^"]+)/?br=\d+"')
+1
View File
@@ -10,6 +10,7 @@ from core import httptools
host = 'http://javl.in' host = 'http://javl.in'
# BLOQUEO ANTIVIRUS
def mainlist(item): def mainlist(item):
logger.info() logger.info()
+1 -1
View File
@@ -27,7 +27,7 @@ def mainlist(item):
fanart = '' fanart = ''
itemlist.append( itemlist.append(
Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, fanart=fanart)) Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, fanart=thumbnail))
# Paginacion # Paginacion
title = '' title = ''
+1 -1
View File
@@ -50,7 +50,7 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return sorted(itemlist, key=lambda i: i.title)
def lista(item): def lista(item):
+2 -2
View File
@@ -51,7 +51,7 @@ def categorias(item):
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return sorted(itemlist, key=lambda i: i.title)
def lista(item): def lista(item):
@@ -67,7 +67,7 @@ def lista(item):
scrapedtitle = "[COLOR yellow]" + (scrapedtime) + "[/COLOR] " + scrapedtitle scrapedtitle = "[COLOR yellow]" + (scrapedtime) + "[/COLOR] " + scrapedtitle
scrapedurl = "http://xxx.justporno.tv/embed/" + scrapedurl scrapedurl = "http://xxx.justporno.tv/embed/" + scrapedurl
itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
if item.extra: if item.extra:
next_page = scrapertools.find_single_match(data, '<li class="next">.*?from_videos\+from_albums:(.*?)>') next_page = scrapertools.find_single_match(data, '<li class="next">.*?from_videos\+from_albums:(.*?)>')
+1 -1
View File
@@ -64,7 +64,7 @@ def peliculas(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail,
plot=plot, contentTitle=contentTitle)) fanart=thumbnail, plot=plot, contentTitle=contentTitle))
next_page_url = scrapertools.find_single_match(data,'<a href=\'([^\']+)\' class="next">Next &gt;&gt;</a>') next_page_url = scrapertools.find_single_match(data,'<a href=\'([^\']+)\' class="next">Next &gt;&gt;</a>')
if next_page_url!="": if next_page_url!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page_url = urlparse.urljoin(item.url,next_page_url)
+16 -15
View File
@@ -8,15 +8,15 @@ from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
host = 'https://www.muchoporno.xxx' host = 'https://www.pornburst.xxx'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host)) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/page3.html"))
itemlist.append( Item(channel=item.channel, title="Pornstars" , action="categorias", url=host + "/pornstars/")) itemlist.append( Item(channel=item.channel, title="Pornstars" , action="categorias", url=host + "/pornstars/"))
#itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/sitios/")) itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/sites/"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categorias/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -39,11 +39,12 @@ def categorias(item):
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
if "/sitios/" in item.url: if "/sites/" in item.url:
patron = '<div class="muestra-escena muestra-canales">.*?href="(.*?)">.*?' patron = '<div class="muestra-escena muestra-canales">.*?'
patron += 'src="(.*?)".*?' patron += 'href="([^"]+)">.*?'
patron += '<a title="(.*?)".*?' patron += 'src="([^"]+)".*?'
patron += '</span> (.*?) videos</span>' patron += '<a title="([^"]+)".*?'
patron += '</span> (\d+) videos</span>'
if "/pornstars/" in item.url: if "/pornstars/" in item.url:
patron = '<a class="muestra-escena muestra-pornostar" href="([^"]+)">.*?' patron = '<a class="muestra-escena muestra-pornostar" href="([^"]+)">.*?'
patron += 'src="([^"]+)".*?' patron += 'src="([^"]+)".*?'
@@ -62,8 +63,8 @@ def categorias(item):
scrapedtitle = scrapedtitle + cantidad scrapedtitle = scrapedtitle + cantidad
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail , plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)">Siguiente</a></li>') next_page = scrapertools.find_single_match(data,'<link rel="next" href="([^"]+)"')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="categorias", title="Página Siguiente >>", text_color="blue", url=next_page) ) itemlist.append(item.clone(action="categorias", title="Página Siguiente >>", text_color="blue", url=next_page) )
@@ -74,7 +75,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<a class="muestra-escena"\s*href="([^"]+)".*?' patron = '<a class="muestra-escena"\s*href="([^"]+)".*?'
patron += 'data-stats-video-name="([^"]+)".*?' patron += 'data-stats-video-name="([^"]+)".*?'
@@ -89,8 +90,8 @@ def lista(item):
plot = "" plot = ""
year = "" year = ""
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = contentTitle)) fanart=thumbnail, plot=plot, contentTitle = contentTitle))
next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)">Siguiente</a></li>') next_page = scrapertools.find_single_match(data,'<link rel="next" href="([^"]+)"')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
@@ -100,7 +101,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<source src="([^"]+)" type="video/mp4"' patron = '<source src="([^"]+)" type="video/mp4"'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl in matches: for scrapedurl in matches:
+1 -1
View File
@@ -72,7 +72,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle=title)) fanart=thumbnail, plot=plot, contentTitle=title))
# <li class='active'><a class=''>1</a></li><li><a rel='nofollow' class='page larger' href='https://pandamovies.pw/movies/page/2'> # <li class='active'><a class=''>1</a></li><li><a rel='nofollow' class='page larger' href='https://pandamovies.pw/movies/page/2'>
next_page = scrapertools.find_single_match(data, '<li class=\'active\'>.*?href=\'([^\']+)\'>') next_page = scrapertools.find_single_match(data, '<li class=\'active\'>.*?href=\'([^\']+)\'>')
if next_page == "": if next_page == "":
+10 -23
View File
@@ -6,37 +6,26 @@ import urlparse
from core import scrapertools from core import scrapertools
from core.item import Item from core.item import Item
from platformcode import logger from platformcode import logger
from core import httptools
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = []
if item.url == "": if item.url == "":
item.url = "http://www.peliculaseroticas.net/" item.url = "http://www.peliculaseroticas.net/"
data = httptools.downloadpage(item.url).data
# Descarga la página patron = '<div class="post">.*?'
data = scrapertools.cachePage(item.url) patron += '<a href="([^"]+)">([^<]+)</a>.*?'
patron += '<img src="([^"]+)"'
# Extrae las entradas de la pagina seleccionada
patron = '<div class="post"[^<]+'
patron += '<a href="([^"]+)">([^<]+)</a[^<]+'
patron += '<hr[^<]+'
patron += '<a[^<]+<img src="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data) matches = re.compile(patron, re.DOTALL).findall(data)
itemlist = []
for scrapedurl, scrapedtitle, scrapedthumbnail in matches: for scrapedurl, scrapedtitle, scrapedthumbnail in matches:
url = urlparse.urljoin(item.url, scrapedurl) url = urlparse.urljoin(item.url, scrapedurl)
title = scrapedtitle.strip() title = scrapedtitle.strip()
thumbnail = urlparse.urljoin(item.url, scrapedthumbnail) thumbnail = urlparse.urljoin(item.url, scrapedthumbnail)
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url,
# Añade al listado fanart=thumbnail, thumbnail=thumbnail, plot=plot, viewmode="movie"))
itemlist.append(
Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url, thumbnail=thumbnail,
plot=plot, viewmode="movie", folder=True))
# Extrae la marca de siguiente página # Extrae la marca de siguiente página
if item.url == "http://www.peliculaseroticas.net/": if item.url == "http://www.peliculaseroticas.net/":
next_page_url = "http://www.peliculaseroticas.net/cine-erotico/2.html" next_page_url = "http://www.peliculaseroticas.net/cine-erotico/2.html"
@@ -44,8 +33,6 @@ def mainlist(item):
current_page = scrapertools.find_single_match(item.url, "(\d+)") current_page = scrapertools.find_single_match(item.url, "(\d+)")
next_page = int(current_page) + 1 next_page = int(current_page) + 1
next_page_url = "http://www.peliculaseroticas.net/cine-erotico/" + str(next_page) + ".html" next_page_url = "http://www.peliculaseroticas.net/cine-erotico/" + str(next_page) + ".html"
itemlist.append( Item(channel=item.channel, action="mainlist", title=">> Página siguiente", url=next_page_url))
itemlist.append(
Item(channel=item.channel, action="mainlist", title=">> Página siguiente", url=next_page_url, folder=True))
return itemlist return itemlist
+2 -1
View File
@@ -35,7 +35,8 @@ def lista(item):
if duration: if duration:
scrapedtitle += " (%s)" % duration scrapedtitle += " (%s)" % duration
itemlist.append(item.clone(action="findvideos", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail)) itemlist.append(item.clone(action="findvideos", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
fanart=scrapedthumbnail))
# Extrae la marca de siguiente página # Extrae la marca de siguiente página
next_page = scrapertools.find_single_match(data, '<a class="nextpostslink" rel="next" href="([^"]+)"') next_page = scrapertools.find_single_match(data, '<a class="nextpostslink" rel="next" href="([^"]+)"')
+1 -1
View File
@@ -70,7 +70,7 @@ def peliculas(item):
scrapedthumbnail = "http:" + scrapedthumbnail scrapedthumbnail = "http:" + scrapedthumbnail
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=scrapedthumbnail, itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=scrapedthumbnail,
plot=plot, contentTitle = title)) fanart=scrapedthumbnail, plot=plot, contentTitle = title))
next_page = scrapertools.find_single_match(data, '<a class="btn_wrapper__btn" href="([^"]+)">Next</a></li>') next_page = scrapertools.find_single_match(data, '<a class="btn_wrapper__btn" href="([^"]+)">Next</a></li>')
if next_page: if next_page:
next_page = urlparse.urljoin(item.url, next_page) next_page = urlparse.urljoin(item.url, next_page)
+13 -9
View File
@@ -10,14 +10,16 @@ from core import httptools
host = 'https://www.porn300.com' host = 'https://www.porn300.com'
#BLOQUEO ANTIVIRUS STREAMCLOUD
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/es/videos/")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/es/videos/"))
itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/es/mas-vistos/")) itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/es/mas-vistos/"))
itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/es/mas-votados/")) itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/es/mas-votados/"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/es/canales/")) itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/es/canales/?page=1"))
itemlist.append( Item(channel=item.channel, title="Pornstars" , action="categorias", url=host + "/es/pornostars/")) itemlist.append( Item(channel=item.channel, title="Pornstars" , action="categorias", url=host + "/es/pornostars/?page=1"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/es/categorias/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/es/categorias/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -56,8 +58,11 @@ def categorias(item):
scrapedtitle = scrapedtitle + " (" + cantidad +")" scrapedtitle = scrapedtitle + " (" + cantidad +")"
scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/?sort=latest" scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/?sort=latest"
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<link rel="next" href="([^"]+)" />') next_page = scrapertools.find_single_match(data,'<link rel="next" href="([^"]+)" />')
if next_page=="":
if "/?page=1" in item.url:
next_page=urlparse.urljoin(item.url,"/?page=2")
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="categorias", title="Página Siguiente >>", text_color="blue", url=next_page) ) itemlist.append(item.clone(action="categorias", title="Página Siguiente >>", text_color="blue", url=next_page) )
@@ -67,7 +72,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<a itemprop="url" href="([^"]+)" data-video-id="\d+" title="([^"]+)">.*?' patron = '<a itemprop="url" href="([^"]+)" data-video-id="\d+" title="([^"]+)">.*?'
patron += '<img itemprop="thumbnailUrl" src="([^"]+)".*?' patron += '<img itemprop="thumbnailUrl" src="([^"]+)".*?'
@@ -81,7 +86,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail,
plot=plot, contentTitle = contentTitle) ) fanart=thumbnail, plot=plot, contentTitle = contentTitle) )
next_page = scrapertools.find_single_match(data,'<link rel="next" href="([^"]+)" />') next_page = scrapertools.find_single_match(data,'<link rel="next" href="([^"]+)" />')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -91,11 +96,10 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<source src="([^"]+)"' patron = '<source src="([^"]+)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl in matches: for url in matches:
url = scrapedurl itemlist.append(item.clone(action="play", title=url, fulltitle = item.title, url=url))
itemlist.append(item.clone(action="play", title=url, fulltitle = item.title, url=url))
return itemlist return itemlist
+4 -3
View File
@@ -59,16 +59,16 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<article id=post-\d+.*?' patron = '<article id=post-\d+.*?'
patron += '<img class="center cover" src=([^"]+) alt="([^"]+)".*?' patron += '<img class="center cover" src=([^"]+) alt="([^"]+)".*?'
patron += '<blockquote>.*?<a href=(.*?) target=_blank>' patron += '<blockquote><p> <a href=(.*?) target=_blank'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
scrapertools.printMatches(matches) scrapertools.printMatches(matches)
for scrapedthumbnail,scrapedtitle,scrapedurl in matches: for scrapedthumbnail,scrapedtitle,scrapedurl in matches:
scrapedplot = "" scrapedplot = ""
itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<a class=nextpostslink rel=next href=(.*?)>') next_page = scrapertools.find_single_match(data,'<a class=nextpostslink rel=next href=(.*?)>')
if next_page!="": if next_page!="":
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
@@ -77,6 +77,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
data = httptools.downloadpage(item.url).data
itemlist = servertools.find_video_items(data=item.url) itemlist = servertools.find_video_items(data=item.url)
for videoitem in itemlist: for videoitem in itemlist:
videoitem.title = item.title videoitem.title = item.title
+1 -1
View File
@@ -52,7 +52,7 @@ def lista(item):
scrapedplot = "" scrapedplot = ""
scrapedtitle = "[COLOR yellow]" + (scrapedtime) + "[/COLOR] " + scrapedtitle scrapedtitle = "[COLOR yellow]" + (scrapedtime) + "[/COLOR] " + scrapedtitle
itemlist.append(Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl, itemlist.append(Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot)) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot))
next_page = scrapertools.find_single_match(data, '<nav id="page_nav"><a href="(.*?)"') next_page = scrapertools.find_single_match(data, '<nav id="page_nav"><a href="(.*?)"')
if next_page != "": if next_page != "":
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page)) itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page))
+17 -11
View File
@@ -2,6 +2,8 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
import base64
from core import scrapertools from core import scrapertools
from core import servertools from core import servertools
from core.item import Item from core.item import Item
@@ -10,6 +12,7 @@ from core import httptools
host = 'http://www.pornhive.tv/en' host = 'http://www.pornhive.tv/en'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
@@ -66,22 +69,25 @@ def lista(item):
title = scrapedtitle title = scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title, url=scrapedurl, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="findvideos" , title=title, url=scrapedurl, thumbnail=thumbnail,
plot=plot, contentTitle=title)) fanart=thumbnail, plot=plot, contentTitle=title))
next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)" data-ci-pagination-page="\d+" rel="next">Next &rsaquo;') next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)" data-ci-pagination-page="\d+" rel="next">Next &rsaquo;')
if next_page != "" : if next_page != "" :
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
def play(item): def findvideos(item):
logger.info() logger.info()
itemlist = servertools.find_video_items(data=item.url) itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
itemlist = servertools.find_video_items(data=data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
for videoitem in itemlist: patron = ';extra_urls\[\d+\]=\'([^\']+)\''
videoitem.title = item.title matches = re.compile(patron,re.DOTALL).findall(data)
videoitem.fulltitle = item.fulltitle for scrapedurl in matches:
videoitem.thumbnail = item.thumbnail scrapedurl = base64.b64decode(scrapedurl)
videochannel=item.channel itemlist.append(item.clone(action="play", title="%s", url=scrapedurl))
itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
return itemlist return itemlist
+5 -4
View File
@@ -50,8 +50,8 @@ def categorias(item):
else: else:
url = urlparse.urljoin(item.url, scrapedurl + "?o=cm") url = urlparse.urljoin(item.url, scrapedurl + "?o=cm")
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
itemlist.append(Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=url, fanart=item.fanart, itemlist.append(Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=url,
thumbnail=scrapedthumbnail)) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail))
itemlist.sort(key=lambda x: x.title) itemlist.sort(key=lambda x: x.title)
return itemlist return itemlist
@@ -73,7 +73,7 @@ def peliculas(item):
title += ' [HD]' title += ' [HD]'
url = urlparse.urljoin(item.url, url) url = urlparse.urljoin(item.url, url)
itemlist.append( itemlist.append(
Item(channel=item.channel, action="play", title=title, url=url, fanart=item.fanart, thumbnail=thumbnail)) Item(channel=item.channel, action="play", title=title, url=url, fanart=thumbnail, thumbnail=thumbnail))
if itemlist: if itemlist:
# Paginador # Paginador
patron = '<li class="page_next"><a href="([^"]+)"' patron = '<li class="page_next"><a href="([^"]+)"'
@@ -88,7 +88,7 @@ def peliculas(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '"defaultQuality":true,"format":"mp4","quality":"\d+","videoUrl":"(.*?)"' patron = '"defaultQuality":true,"format":"mp4","quality":"\d+","videoUrl":"(.*?)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl in matches: for scrapedurl in matches:
@@ -96,3 +96,4 @@ def play(item):
itemlist.append(item.clone(action="play", title=url, fulltitle = item.title, url=url)) itemlist.append(item.clone(action="play", title=url, fulltitle = item.title, url=url))
return itemlist return itemlist
+2 -2
View File
@@ -45,7 +45,7 @@ def categorias(item):
for scrapedurl,scrapedtitle,scrapedthumbnail in matches: for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
scrapedplot = "" scrapedplot = ""
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -63,7 +63,7 @@ def lista(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail,
plot=plot, contentTitle = title)) fanart=thumbnail, plot=plot, contentTitle = title))
next_page = scrapertools.find_single_match(data, '<li class="direction"><a href="([^"]+)" data-ajax="pagination">') next_page = scrapertools.find_single_match(data, '<li class="direction"><a href="([^"]+)" data-ajax="pagination">')
if next_page: if next_page:
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+5 -3
View File
@@ -10,6 +10,7 @@ from core import httptools
host = 'http://qwertty.net' host = 'http://qwertty.net'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
@@ -64,7 +65,7 @@ def lista(item):
scrapedplot = "" scrapedplot = ""
title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle
itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)">Next</a>') next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)">Next</a>')
if next_page=="": if next_page=="":
next_page = scrapertools.find_single_match(data,'<li><a class="current">.*?<li><a href=\'([^\']+)\' class="inactive">') next_page = scrapertools.find_single_match(data,'<li><a class="current">.*?<li><a href=\'([^\']+)\' class="inactive">')
@@ -77,10 +78,11 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
url = scrapertools.find_single_match(data,'<meta itemprop="embedURL" content="([^"]+)"') url = scrapertools.find_single_match(data,'<meta itemprop="embedURL" content="([^"]+)"')
url = url.replace("pornhub.com/embed/", "pornhub.com/view_video.php?viewkey=") url = url.replace("pornhub.com/embed/", "pornhub.com/view_video.php?viewkey=")
data = scrapertools.cachePage(url) data = httptools.downloadpage(url).data
# data = scrapertools.cachePage(url) https://www.spankwire.com/EmbedPlayer.aspx?ArticleId=14049072
if "xvideos" in url : if "xvideos" in url :
scrapedurl = scrapertools.find_single_match(data,'setVideoHLS\(\'([^\']+)\'') scrapedurl = scrapertools.find_single_match(data,'setVideoHLS\(\'([^\']+)\'')
if "pornhub" in url : if "pornhub" in url :
+21 -10
View File
@@ -46,11 +46,12 @@ def catalogo(item):
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle + " [COLOR yellow]" + cantidad + "[/COLOR] " scrapedtitle = scrapedtitle + " [COLOR yellow]" + cantidad + "[/COLOR] "
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl,
fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page_url = scrapertools.find_single_match(data,'<a id="wp_navNext" class="js_pop_page" href="([^"]+)">') next_page_url = scrapertools.find_single_match(data,'<a id="wp_navNext" class="js_pop_page" href="([^"]+)">')
if next_page_url!="": if next_page_url!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page_url = urlparse.urljoin(item.url,next_page_url)
itemlist.append( Item(channel=item.channel , action="catalogo" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) itemlist.append(item.clone(action="catalogo", title="Página Siguiente >>", text_color="blue", url=next_page_url) )
return itemlist return itemlist
def categorias(item): def categorias(item):
@@ -58,22 +59,30 @@ def categorias(item):
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="category_item_wrapper">.*?<a href="([^"]+)".*?data-thumb_url="([^"]+)".*?alt="([^"]+)".*?<span class="category_count">\s+([^"]+) Videos' patron = '<div class="category_item_wrapper">.*?'
patron += '<a href="([^"]+)".*?'
patron += 'data-src="([^"]+)".*?'
patron += 'alt="([^"]+)".*?'
patron += '<span class="category_count">([^"]+) Videos'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,cantidad in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,cantidad in matches:
scrapedplot = "" scrapedplot = ""
cantidad = cantidad.strip()
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl,
fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def peliculas(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<img id="img_.*?data-path="([^"]+)".*?<span class="duration">(.*?)</a>.*?<a title="([^"]+)" href="([^"]+)">' patron = '<img id="img_.*?data-path="([^"]+)".*?'
patron += '<span class="duration">(.*?)</a>.*?'
patron += '<a title="([^"]+)" href="([^"]+)">'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedthumbnail,duration,scrapedtitle,scrapedurl in matches: for scrapedthumbnail,duration,scrapedtitle,scrapedurl in matches:
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
@@ -82,23 +91,25 @@ def peliculas(item):
duration = scrapertools.find_single_match(duration, 'HD</span>(.*?)</span>') duration = scrapertools.find_single_match(duration, 'HD</span>(.*?)</span>')
title = "[COLOR yellow]" + duration + "[/COLOR] " + "[COLOR red]" + scrapedhd + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + duration + "[/COLOR] " + "[COLOR red]" + scrapedhd + "[/COLOR] " + scrapedtitle
else: else:
duration = duration.replace("<span class=\"vr-video\">VR</span>", "")
title = "[COLOR yellow]" + duration + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + duration + "[/COLOR] " + scrapedtitle
title = title.replace(" </span>", "").replace(" ", "") title = title.replace(" </span>", "").replace(" ", "")
scrapedthumbnail = scrapedthumbnail.replace("{index}.", "1.") scrapedthumbnail = scrapedthumbnail.replace("{index}.", "1.")
plot = "" plot = ""
year = "" if not "/premium/" in url:
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=scrapedthumbnail, plot=plot, contentTitle = title, infoLabels={'year':year} )) itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url,
fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=plot, contentTitle = title) )
next_page_url = scrapertools.find_single_match(data,'<a id="wp_navNext" class="js_pop_page" href="([^"]+)">') next_page_url = scrapertools.find_single_match(data,'<a id="wp_navNext" class="js_pop_page" href="([^"]+)">')
if next_page_url!="": if next_page_url!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page_url = urlparse.urljoin(item.url,next_page_url)
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) itemlist.append(item.clone(action="peliculas", title="Página Siguiente >>", text_color="blue", url=next_page_url) )
return itemlist return itemlist
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '"defaultQuality":true,"format":"",.*?"videoUrl"\:"([^"]+)"' patron = '"defaultQuality":true,"format":"",.*?"videoUrl"\:"([^"]+)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl in matches: for scrapedurl in matches:
+71 -41
View File
@@ -13,25 +13,25 @@ host = "https://www.serviporno.com"
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( itemlist.append(Item(channel=item.channel, action="videos", title="Útimos videos",
Item(channel=item.channel, action="videos", title="Útimos videos", url= host)) url=host + "/ajax/homepage/?page=1", last= host))
itemlist.append( itemlist.append(Item(channel=item.channel, action="videos", title="Más vistos",
Item(channel=item.channel, action="videos", title="Más vistos", url="http://www.serviporno.com/mas-vistos/")) url=host + "/ajax/most_viewed/?page=1", last= host + "/mas-vistos/"))
itemlist.append( itemlist.append(Item(channel=item.channel, action="videos", title="Más votados",
Item(channel=item.channel, action="videos", title="Más votados", url="http://www.serviporno.com/mas-votados/")) url=host + "/ajax/best_rated/?page=1", last= host + "/mas-votados/"))
itemlist.append(Item(channel=item.channel, action="categorias", title="Categorias", itemlist.append(Item(channel=item.channel, action="categorias", title="Canal",
url="http://www.serviporno.com/categorias/")) url=host + "/ajax/list_producers/?page=1", last= host + "/sitios/"))
itemlist.append( itemlist.append(Item(channel=item.channel, action="categorias", title="Categorias", url= host + "/categorias/"))
Item(channel=item.channel, action="chicas", title="Chicas", url="http://www.serviporno.com/pornstars/")) itemlist.append(Item(channel=item.channel, action="chicas", title="Chicas",
itemlist.append( url=host + "/ajax/list_pornstars/?page=1", last= host + "/pornstars/"))
Item(channel=item.channel, action="search", title="Buscar", url="http://www.serviporno.com/search/?q=")) itemlist.append(Item(channel=item.channel, action="search", title="Buscar", last=""))
return itemlist return itemlist
def search(item, texto): def search(item, texto):
logger.info() logger.info()
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = item.url + texto item.url = host + '/ajax/new_search/?q=%s&page=1' % texto
try: try:
return videos(item) return videos(item)
# Se captura la excepción, para no interrumpir al buscador global si un canal falla # Se captura la excepción, para no interrumpir al buscador global si un canal falla
@@ -42,29 +42,39 @@ def search(item, texto):
return [] return []
def get_last_page(url):
logger.info()
data = httptools.downloadpage(url).data
last_page= int(scrapertools.find_single_match(data,'data-ajax-last-page="(\d+)"'))
return last_page
def videos(item): def videos(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
patron = '(?s)<div class="wrap-box-escena">.*?' patron = '(?s)<div class="wrap-box-escena">.*?'
patron += '<div class="box-escena">.*?' patron += '<div class="box-escena">.*?'
patron += '<a\s*href="([^"]+)".*?' patron += '<a\s*href="([^"]+)".*?'
patron += 'data-stats-video-name="([^"]+)".*?' patron += 'data-stats-video-name="([^"]+)".*?'
patron += '<img\s*src="([^"]+)"' patron += '<img\s*src="([^"]+)".*?'
matches = scrapertools.find_multiple_matches(data, patron) patron += '<div class="duracion">([^"]+) min</div>'
for url, title, thumbnail in matches: matches = re.compile(patron,re.DOTALL).findall(data)
for url, title, thumbnail,duration in matches:
title = "[COLOR yellow]" + duration + "[/COLOR] " + title
url = urlparse.urljoin(item.url, url) url = urlparse.urljoin(item.url, url)
itemlist.append(Item(channel=item.channel, action='play', title=title, url=url, thumbnail=thumbnail)) itemlist.append(Item(channel=item.channel, action='play', title=title, url=url, thumbnail=thumbnail, fanart=thumbnail))
# Paginador "Página Siguiente >>"
# Paginador current_page = int(scrapertools.find_single_match(item.url, "/?page=(\d+)"))
patron = '<a href="([^<]+)">Siguiente &raquo;</a>' if not item.last_page:
matches = re.compile(patron, re.DOTALL).findall(data) last_page = get_last_page(item.last)
if len(matches) > 0: else:
url = "http://www.serviporno.com" + matches[0] last_page = int(item.last_page)
itemlist.append( if current_page < last_page:
Item(channel=item.channel, action="videos", title="Página Siguiente", url=url, thumbnail="", folder=True)) next_page = "?page=" + str(current_page + 1)
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(Item(channel=item.channel, action="videos", title="Página Siguiente >>", text_color="blue",
url=next_page, thumbnail="", last_page=last_page))
return itemlist return itemlist
@@ -72,18 +82,28 @@ def chicas(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.downloadpage(item.url) data = scrapertools.downloadpage(item.url)
patron = '<div class="box-chica">.*?' patron = '<div class="box-chica">.*?'
patron += '<a href="([^"]+)" title="">.*?' patron += '<a href="([^"]+)" title="">.*?'
patron += '<img class="img" src=\'([^"]+)\' width="175" height="150" border=\'0\' alt="[^"]+"/>.*?' patron += '<img class="img" src=\'([^"]+)\' width="175" height="150" border=\'0\' alt="[^"]+" />.*?'
patron += '</a>[^<]{1}<h4><a href="[^"]+" title="">([^"]+)</a></h4>.*?' patron += '<h4><a href="[^"]+" title="">([^"]+)</a></h4>.*?'
patron += '<a class="total-videos" href="[^"]+" title="">([^<]+)</a>' patron += '<a class="total-videos" href="[^"]+" title="">([^<]+)</a>'
matches = re.compile(patron, re.DOTALL).findall(data) matches = re.compile(patron, re.DOTALL).findall(data)
for url, thumbnail, title, videos in matches: for url, thumbnail, title, videos in matches:
url = urlparse.urljoin("http://www.serviporno.com", url) last = urlparse.urljoin(item.url, url)
url= last.replace("/pornstar", "/ajax/show_pornstar") + "?page=1"
title = title + " (" + videos + ")" title = title + " (" + videos + ")"
itemlist.append(Item(channel=item.channel, action='videos', title=title, url=url, thumbnail=thumbnail, plot="")) itemlist.append(Item(channel=item.channel, action='videos', title=title, url=url, last=last, thumbnail=thumbnail, fanart=thumbnail))
# Paginador "Página Siguiente >>"
current_page = int(scrapertools.find_single_match(item.url, "/?page=(\d+)"))
if not item.last_page:
last_page = get_last_page(item.last)
else:
last_page = int(item.last_page)
if current_page < last_page:
next_page = "?page=" + str(current_page + 1)
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(Item(channel=item.channel, action="chicas", title="Página Siguiente >>", text_color="blue",
url=next_page, thumbnail="", last_page=last_page))
return itemlist return itemlist
@@ -91,16 +111,25 @@ def categorias(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.downloadpage(item.url) data = scrapertools.downloadpage(item.url)
patron = '<div class="wrap-box-escena.*?'
patron = '<div class="wrap-box-escena">.*?' patron += 'href="([^"]+)"><img src="([^"]+)".*?'
patron += '<div class="cat box-escena">.*?' patron += '<h4.*?<a href="[^"]+">([^<]+)</a></h4>'
patron += '<a href="([^"]+)"><img src="([^"]+)" alt="Webcam" height="150" width="175" border=0 /></a>.*?'
patron += '<h4><a href="[^"]+">([^<]+)</a></h4>'
matches = re.compile(patron, re.DOTALL).findall(data) matches = re.compile(patron, re.DOTALL).findall(data)
for url, thumbnail, title in matches: for url, thumbnail, title in matches:
url = urlparse.urljoin(item.url, url) last = urlparse.urljoin(item.url, url)
itemlist.append(Item(channel=item.channel, action='videos', title=title, url=url, thumbnail=thumbnail, plot="")) url= last.replace("/videos-porno", "/ajax/show_category").replace("/sitio","/ajax/show_producer") + "?page=1"
itemlist.append(Item(channel=item.channel, action='videos', title=title, url=url, last=last, thumbnail=thumbnail, plot=""))
# Paginador "Página Siguiente >>"
current_page = int(scrapertools.find_single_match(item.url, "/?page=(\d+)"))
if not item.last_page:
last_page = get_last_page(item.last)
else:
last_page = int(item.last_page)
if current_page < last_page:
next_page = "?page=" + str(current_page + 1)
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(Item(channel=item.channel, action="categorias", title="Página Siguiente >>", text_color="blue",
url=next_page, thumbnail="", last_page=last_page))
return itemlist return itemlist
@@ -113,3 +142,4 @@ def play(item):
Item(channel=item.channel, action="play", server="directo", title=item.title, url=url, thumbnail=item.thumbnail, Item(channel=item.channel, action="play", server="directo", title=item.title, url=url, thumbnail=item.thumbnail,
plot=item.plot, folder=False)) plot=item.plot, folder=False))
return itemlist return itemlist
+3 -3
View File
@@ -14,8 +14,8 @@ host = 'http://sexgalaxy.net'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append(Item(channel=item.channel, title="Ultimos", action="lista", url=host + "/new-releases/"))
itemlist.append(Item(channel=item.channel, title="Peliculas", action="lista", url=host + "/full-movies/")) itemlist.append(Item(channel=item.channel, title="Peliculas", action="lista", url=host + "/full-movies/"))
itemlist.append(Item(channel=item.channel, title="Videos", action="lista", url=host + "/new-releases/"))
itemlist.append(Item(channel=item.channel, title="Canales", action="canales", url=host)) itemlist.append(Item(channel=item.channel, title="Canales", action="canales", url=host))
itemlist.append(Item(channel=item.channel, title="Categorias", action="categorias", url=host)) itemlist.append(Item(channel=item.channel, title="Categorias", action="categorias", url=host))
itemlist.append(Item(channel=item.channel, title="Buscar", action="search")) itemlist.append(Item(channel=item.channel, title="Buscar", action="search"))
@@ -81,10 +81,10 @@ def lista(item):
if calidad: if calidad:
scrapedtitle = "[COLOR red]" + calidad + "[/COLOR] " + scrapedtitle scrapedtitle = "[COLOR red]" + calidad + "[/COLOR] " + scrapedtitle
itemlist.append(Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl, itemlist.append(Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fulltitle=scrapedtitle, plot=scrapedplot)) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, fulltitle=scrapedtitle, plot=scrapedplot))
next_page = scrapertools.find_single_match(data, '<a class="next page-numbers" href="([^"]+)"') next_page = scrapertools.find_single_match(data, '<a class="next page-numbers" href="([^"]+)"')
if next_page != "": if next_page != "":
itemlist.append(item.clone(action="lista", title="Next page >>", text_color="blue", url=next_page)) itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page))
return itemlist return itemlist
+5 -18
View File
@@ -19,7 +19,7 @@ def mainlist(item):
itemlist.append( Item(channel=item.channel, title="SexMUSIC" , action="lista", url=host + "/topics/sexo-music-videos/")) itemlist.append( Item(channel=item.channel, title="SexMUSIC" , action="lista", url=host + "/topics/sexo-music-videos/"))
itemlist.append( Item(channel=item.channel, title="Xshows" , action="lista", url=host + "/xshows/")) itemlist.append( Item(channel=item.channel, title="Xshows" , action="lista", url=host + "/xshows/"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host)) itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host)) # itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -42,30 +42,17 @@ def categorias(item):
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
if item.title == "Canal" : if item.title == "Canal" :
data = scrapertools.get_match(data,'>Best Porn Studios</a>(.*?)</ul>') data = scrapertools.get_match(data,'>Adult Porn Parodies</a></li>(.*?)</ul>')
else: else:
data = scrapertools.get_match(data,'<div class="nav-wrap">(.*?)<ul class="sub-menu">') data = scrapertools.get_match(data,'<div class="nav-wrap">(.*?)<ul class="sub-menu">')
itemlist.append( Item(channel=item.channel, action="lista", title="Big tit", url="https://sexofilm.com/?s=big+tits")) itemlist.append( Item(channel=item.channel, action="lista", title="Big tit", url="https://sexofilm.com/?s=big+tits"))
patron = '<a href="([^<]+)">([^<]+)</a>'
patron = '<a href="(.*?)".*?>(.*?)</a>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl) ) itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl) )
return itemlist return itemlist
def catalogo(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = scrapertools.get_match(data,'<div class="nav-wrap">(.*?)<ul class="sub-menu">')
patron = '<a href="(.*?)">(.*?)</a>'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle in matches:
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl) )
return itemlist
def anual(item): def anual(item):
logger.info() logger.info()
itemlist = [] itemlist = []
@@ -83,9 +70,9 @@ def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
patron = '<div class="post-thumbnail.*?<a href="([^"]+)" title="(.*?)".*?src="([^"]+)"' patron = '<div class="post-thumbnail.*?<a href="([^"]+)".*?src="([^"]+)".*?title="([^"]+)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail in matches: for scrapedurl,scrapedthumbnail,scrapedtitle in matches:
plot = "" plot = ""
title = scrapedtitle.replace(" Porn DVD", "").replace("Permalink to ", "").replace(" Porn Movie", "") title = scrapedtitle.replace(" Porn DVD", "").replace("Permalink to ", "").replace(" Porn Movie", "")
itemlist.append(item.clone(action="play", title=title, url=scrapedurl, thumbnail=scrapedthumbnail, itemlist.append(item.clone(action="play", title=title, url=scrapedurl, thumbnail=scrapedthumbnail,
+15
View File
@@ -0,0 +1,15 @@
{
"id": "siska",
"name": "siska",
"active": true,
"adult": true,
"language": ["*"],
"thumbnail": "http://www.siska.tv/images/siska.png?50",
"banner": "",
"categories": [
"adult"
],
"settings": [
]
}
+89
View File
@@ -0,0 +1,89 @@
# -*- coding: utf-8 -*-
#------------------------------------------------------------
import urlparse,urllib2,urllib,re
import os, sys
from platformcode import config, logger
from core import scrapertools
from core.item import Item
from core import servertools
from core import httptools
host = 'http://www.siska.tv/'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevos" , action="lista", url=host + "newVideo.php?language=en"))
itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="lista", url=host + "MostViewed.php?views=month&language=en"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "Channel.php?language=en"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "index.php?category=1&language=en"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist
def search(item, texto):
logger.info()
texto = texto.replace(" ", "+")
item.url = host + "search.php?q=%s&language=en&search=Search" % texto
try:
return lista(item)
except:
import sys
for line in sys.exc_info():
logger.error("%s" % line)
return []
def categorias(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>|<br/>", "", data)
data = scrapertools.get_match(data,'<div id="content">(.*?)<div class="maincat">')
patron = '<a href="(.*?)".*?'
patron += '<img src="(.*?)".*?alt="(.*?)"'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle in matches:
scrapedplot = ""
scrapedtitle = scrapedtitle.replace("Watch Channel ", "")
url = urlparse.urljoin(item.url,scrapedurl)
thumbnail = urlparse.urljoin(item.url,scrapedthumbnail)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=url,
thumbnail=thumbnail , plot=scrapedplot) )
return itemlist
def lista(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>|<br/>", "", data)
if "catID=" in item.url:
patron = '<li><h3><a href="([^"]+)">.*?'
patron += '<img src="([^"]+)" class="imgt" alt="([^"]+)".*?'
patron += '<div class="time">(.*?)</div>'
else:
patron = '<li><h3><a href=\'([^\']+)\'>.*?'
patron += '<img src=\'([^\']+)\' class=\'imgt\' alt=\'(.*?)\'.*?'
patron += '<div class=\'time\'>(.*?)</div>'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,scrapedtime in matches:
scrapedtime = scrapedtime.replace("Duration: ", "").replace(" : ", ":")
url = urlparse.urljoin(item.url,scrapedurl)
title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle
thumbnail = urlparse.urljoin(item.url,scrapedthumbnail)
plot = ""
itemlist.append( Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, plot=plot,
contentTitle = scrapedtitle))
next_page = scrapertools.find_single_match(data, '<a href="([^"]+)"><span>Next')
if next_page == "":
next_page = scrapertools.find_single_match(data, '<a href=\'([^\']+)\' title=\'Next Page\'>')
if next_page:
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel, action="lista", title="Página Siguiente >>", text_color="blue",
url=next_page) )
return itemlist
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "spankwire", "id": "spankwire",
"name": "spankwire", "name": "spankwire",
"active": true, "active": false,
"adult": true, "adult": true,
"language": ["*"], "language": ["*"],
"thumbnail": "https://cdn1-static-spankwire.spankcdn.net/apple-touch-icon-precomposed.png", "thumbnail": "https://cdn1-static-spankwire.spankcdn.net/apple-touch-icon-precomposed.png",
@@ -38,7 +38,7 @@ def videos(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.downloadpageGzip(item.url) data = scrapertools.downloadpageGzip(item.url)
patron = '<div class="item-block item-normal col" >.*?' patron = '<div class="item-block item-normal col".*?'
patron += '<a href="([^"]+)" title="([^"]+)">.*?' patron += '<a href="([^"]+)" title="([^"]+)">.*?'
patron += 'data-src="([^"]+)".*?' patron += 'data-src="([^"]+)".*?'
patron += '</span> ([^"]+)<' patron += '</span> ([^"]+)<'
+12 -7
View File
@@ -67,7 +67,7 @@ def catalogo(item):
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li><a class="pag-next" href="(.*?)">Next &gt;</a>') next_page = scrapertools.find_single_match(data,'<li><a class="pag-next" href="(.*?)">Next &gt;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -78,19 +78,24 @@ def catalogo(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
data = scrapertools.get_match(data,'class="thumbs-container">(.*?)<div class="clearfix">') data = scrapertools.get_match(data,'class="thumbs-container">(.*?)<div class="clearfix">')
patron = '<p class="btime">([^"]+)</p>.*?href="([^"]+)".*?src="([^"]+)".*?title="([^"]+)">' patron = '<p class="btime">([^"]+)</p>.*?'
patron += '>(.*?)<img width=.*?'
patron += '="([^"]+)" class="thumb.*?'
patron += 'title="([^"]+)".*?'
patron += 'href="([^"]+)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for duracion,scrapedurl,scrapedthumbnail,scrapedtitle in matches: for duracion,calidad,scrapedthumbnail,scrapedtitle,scrapedurl in matches:
url = scrapedurl url = scrapedurl
contentTitle = scrapedtitle
title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle
if ">HD<" in calidad:
title = "[COLOR yellow]" + duracion + "[/COLOR] " + "[COLOR red]" + "HD" + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail,
fanart=scrapedthumbnail, plot=plot, contentTitle = contentTitle)) fanart=scrapedthumbnail, plot=plot, contentTitle = scrapedtitle))
next_page = scrapertools.find_single_match(data,'<li><a class="pag-next" href="(.*?)">Next &gt;</a>') next_page = scrapertools.find_single_match(data,'<li><a class="pag-next" href="(.*?)">Next &gt;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -101,7 +106,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<video src="([^"]+)"' patron = '<video src="([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl in matches: for scrapedurl in matches:
+29 -11
View File
@@ -70,6 +70,10 @@ def mainlist(item):
action="videos", viewmode="movie_with_plot", viewcontent='homemade', action="videos", viewmode="movie_with_plot", viewcontent='homemade',
thumbnail=get_thumb("channels_adult.png"))) thumbnail=get_thumb("channels_adult.png")))
itemlist.append(Item(channel=__channel__, title="PornStar", action="catalogo",
url=host + '/pornstars/', viewmode="movie_with_plot", viewcontent='movies',
thumbnail=get_thumb("channels_adult.png")))
itemlist.append(Item(channel=__channel__, title="Categorías", action="categorias", itemlist.append(Item(channel=__channel__, title="Categorías", action="categorias",
url=host + '/categories/', viewmode="movie_with_plot", viewcontent='movies', url=host + '/categories/', viewmode="movie_with_plot", viewcontent='movies',
thumbnail=get_thumb("channels_adult.png"))) thumbnail=get_thumb("channels_adult.png")))
@@ -100,28 +104,45 @@ def search(item, texto):
def videos(item): def videos(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data) data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron = '<a class="[^"]+" href="([^"]+)">' # url patron = '<a class="[^"]+" href="([^"]+)">' # url
patron += '<img id="[^"]+".*?src="([^"]+)".*?' # img patron += '<img id="[^"]+".*?src="([^"]+)".*?' # img
patron += '<span class="title">([^<]+)</span>.*?' # title patron += '<span class="title">([^<]+)</span>.*?' # title
patron += '<span class="duration">([^<]+)</span>' # time patron += '<span class="duration"(.*?)</a>' # time
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedtime in matches:
for scrapedurl, scrapedthumbnail, scrapedtitle, time in matches: time = scrapertools.find_single_match(scrapedtime, '>([^<]+)</span>')
title = "[%s] %s" % (time, scrapedtitle) title = "[%s] %s" % (time, scrapedtitle)
if ">HD<" in scrapedtime:
title = "[COLOR yellow]" + time + "[/COLOR] " + "[COLOR red]" + "HD" + "[/COLOR] " + scrapedtitle
itemlist.append(Item(channel=item.channel, action='play', title=title, thumbnail=scrapedthumbnail, itemlist.append(Item(channel=item.channel, action='play', title=title, thumbnail=scrapedthumbnail,
url=host + scrapedurl, contentTile=scrapedtitle, fanart=scrapedthumbnail)) url=host + scrapedurl, contentTile=scrapedtitle, fanart=scrapedthumbnail))
paginacion = scrapertools.find_single_match(data, '<link rel="next" href="([^"]+)" />').replace('amp;', '') paginacion = scrapertools.find_single_match(data, '<link rel="next" href="([^"]+)" />').replace('amp;', '')
if paginacion: if paginacion:
itemlist.append(Item(channel=item.channel, action="videos", itemlist.append(Item(channel=item.channel, action="videos",
thumbnail=thumbnail % 'rarrow', thumbnail=thumbnail % 'rarrow',
title="\xc2\xbb Siguiente \xc2\xbb", url=paginacion)) title="\xc2\xbb Siguiente \xc2\xbb", url=paginacion))
return itemlist
def catalogo(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<li class="pornstars">.*?<a href="([^"]+)".*?'
patron += '<img src="([^"]+)" alt="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedthumbnail, scrapedtitle in matches:
url = urlparse.urljoin(item.url, scrapedurl)
itemlist.append(Item(channel=item.channel, action="videos", url=url, title=scrapedtitle, fanart=scrapedthumbnail,
thumbnail=scrapedthumbnail, viewmode="movie_with_plot"))
paginacion = scrapertools.find_single_match(data, '<link rel="next" href="([^"]+)" />').replace('amp;', '')
if paginacion:
itemlist.append(Item(channel=item.channel, action="catalogo",
thumbnail=thumbnail % 'rarrow',
title="\xc2\xbb Siguiente \xc2\xbb", url=paginacion))
return itemlist return itemlist
@@ -133,9 +154,7 @@ def categorias(item):
# logger.info(data) # logger.info(data)
patron = 'class="checkHomepage"><a href="([^"]+)".*?' # url patron = 'class="checkHomepage"><a href="([^"]+)".*?' # url
patron += '<span class="count">([^<]+)</span>' # title, vids patron += '<span class="count">([^<]+)</span>' # title, vids
matches = re.compile(patron, re.DOTALL).findall(data) matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, vids in matches: for scrapedurl, vids in matches:
scrapedtitle = scrapedurl.replace('/categories/', '').replace('-', ' ').title() scrapedtitle = scrapedurl.replace('/categories/', '').replace('-', ' ').title()
title = "%s (%s)" % (scrapedtitle, vids.title()) title = "%s (%s)" % (scrapedtitle, vids.title())
@@ -144,7 +163,6 @@ def categorias(item):
itemlist.append(Item(channel=item.channel, action="videos", fanart=thumbnail, itemlist.append(Item(channel=item.channel, action="videos", fanart=thumbnail,
title=title, url=url, thumbnail=thumbnail, title=title, url=url, thumbnail=thumbnail,
viewmode="movie_with_plot", folder=True)) viewmode="movie_with_plot", folder=True))
return itemlist return itemlist
@@ -153,5 +171,5 @@ def play(item):
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
url = scrapertools.find_single_match(data, '"quality":"[^"]+","videoUrl":"([^"]+)"').replace('\\', '') url = scrapertools.find_single_match(data, '"quality":"[^"]+","videoUrl":"([^"]+)"').replace('\\', '')
itemlist.append(item.clone(url=url, title=item.contentTile)) itemlist.append(item.clone(url=url, title=item.contentTile))
return itemlist return itemlist
+3 -3
View File
@@ -49,7 +49,7 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li><a class="pag-next" href="([^"]+)"><ins>Next</ins></a>') next_page = scrapertools.find_single_match(data,'<li><a class="pag-next" href="([^"]+)"><ins>Next</ins></a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -60,7 +60,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = 'href="([^"]+)"\s*class="th-video.*?' patron = 'href="([^"]+)"\s*class="th-video.*?'
patron += '<img src="([^"]+)".*?' patron += '<img src="([^"]+)".*?'
@@ -85,7 +85,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<video src="([^"]+)"' patron = '<video src="([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for url in matches: for url in matches:
+26 -4
View File
@@ -56,17 +56,39 @@ def lista(item):
# Descarga la página # Descarga la página
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}", "", data) data = re.sub(r"\n|\r|\t|\s{2}", "", data)
# <article id='post-id-40630' class='video-index ceil'>
# <div class='thumb-wrapp'>
# <a href='http://www.vidz78.com/2019/03/22/deux-blacks-tbm-pour-julia-30ans/189/' class='thumb' style='background-image:url("https://pp.userapi.com/c855416/v855416475/ab7f/utBev5x7QuA.jpg")'>
# <div class='overlay'></div>
# <div class='vl'>
# <div class="hd">HD</div> <div class="duration">36:28</div> </div>
# </a>
# </div>
# <div class='info-card'>
# <h6><a class='hp' href='http://www.vidz78.com/2019/03/22/deux-blacks-tbm-pour-julia-30ans/189/'>Jacquieetmicheltv - Deux blacks TBM pour Julia, 30ans !</a></h6>
# <time class="video-date" datetime="2019-03-22T10:32:46+00:00">Mar 22, 2019</time>
# <span> / 5.1k views</span>
# </div>
# </article>
# Extrae las entradas de la pagina seleccionada # Extrae las entradas de la pagina seleccionada
patron = "<a href='.*?.' class='thumb' style='background-image:url\(\"([^\"]+)\"\).*?.<h6><a class='hp' href='([^']+)'>(.*?)</a></h6>" patron = "<a href='.*?.' class='thumb' style='background-image:url\(\"([^\"]+)\"\).*?"
patron += "<div class=\"hd\">(.*?)</div>.*?"
patron += "<div class=\"duration\">(.*?)</div>.*?"
patron += "<h6><a class='hp' href='([^']+)'>(.*?)</a></h6>"
matches = re.compile(patron, re.DOTALL).findall(data) matches = re.compile(patron, re.DOTALL).findall(data)
itemlist = [] itemlist = []
for scrapedthumbnail, scrapedurl, scrapedtitle in matches: for scrapedthumbnail, scrapedhd, duration, scrapedurl, scrapedtitle in matches:
thumbnail = urlparse.urljoin(item.url, scrapedthumbnail) thumbnail = urlparse.urljoin(item.url, scrapedthumbnail)
url = urlparse.urljoin(item.url, scrapedurl) url = urlparse.urljoin(item.url, scrapedurl)
title = scrapedtitle.strip() scrapedtitle = scrapedtitle.strip()
title = "[COLOR yellow]" + duration + "[/COLOR] " + "[COLOR red]" +scrapedhd+ "[/COLOR] "+scrapedtitle
# Añade al listado # Añade al listado
itemlist.append(Item(channel=item.channel, action="play", title=title, thumbnail=thumbnail, fanart=thumbnail, itemlist.append(Item(channel=item.channel, action="play", title=title, thumbnail=thumbnail, fanart=thumbnail,
fulltitle=title, url=url, fulltitle=title, url=url,
+5 -4
View File
@@ -56,7 +56,7 @@ def catalogo(item):
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
scrapedurl = host + scrapedurl scrapedurl = host + scrapedurl
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<a class="next" href="([^"]+)">') next_page = scrapertools.find_single_match(data,'<a class="next" href="([^"]+)">')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -84,7 +84,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="video">.*?' patron = '<div class="video">.*?'
patron += '<a href="([^"]+)".*?' patron += '<a href="([^"]+)".*?'
@@ -92,11 +92,12 @@ def lista(item):
patron += '<img src="([^"]+)" alt="([^"]+)"' patron += '<img src="([^"]+)" alt="([^"]+)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,time,scrapedthumbnail,scrapedtitle in matches: for scrapedurl,time,scrapedthumbnail,scrapedtitle in matches:
scrapedtitle = scrapedtitle.replace("&comma; ", " & ").replace("&lpar;", "(").replace("&rpar;", ")")
title = "[COLOR yellow]" + time + " [/COLOR]" + scrapedtitle title = "[COLOR yellow]" + time + " [/COLOR]" + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=scrapedurl, itemlist.append( Item(channel=item.channel, action="play" , title=title , url=scrapedurl,
thumbnail=thumbnail, fanart=thumbnail, plot=plot, contentTitle = title)) fanart=thumbnail, thumbnail=thumbnail, plot=plot, contentTitle = title))
next_page = scrapertools.find_single_match(data,'<a class="next.*?title="Next Page" href="([^"]+)">') next_page = scrapertools.find_single_match(data,'<a class="next.*?title="Next Page" href="([^"]+)">')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -107,7 +108,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<source src="([^"]+)" type="video/mp4" label="([^"]+)"' patron = '<source src="([^"]+)" type="video/mp4" label="([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
+4 -5
View File
@@ -15,9 +15,9 @@ host = 'https://watchpornfree.ws'
def mainlist(item): def mainlist(item):
logger.info("") logger.info("")
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Videos" , action="lista", url=host + "/category/clips-scenes"))
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", url=host + "/movies")) itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", url=host + "/movies"))
itemlist.append( Item(channel=item.channel, title="Parodia" , action="lista", url=host + "/category/parodies-hd")) itemlist.append( Item(channel=item.channel, title="Parodia" , action="lista", url=host + "/category/parodies-hd"))
itemlist.append( Item(channel=item.channel, title="Videos" , action="lista", url=host + "/category/clips-scenes"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host)) itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host))
itemlist.append( Item(channel=item.channel, title="Año" , action="categorias", url=host)) itemlist.append( Item(channel=item.channel, title="Año" , action="categorias", url=host))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host)) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host))
@@ -37,8 +37,7 @@ def search(item, texto):
logger.error("%s" % line) logger.error("%s" % line)
return [] return []
# <li class="cat-item cat-item-6"><a href="https://watchpornfree.ws/category/all-girl" >All Girl</a> (2,777)
# </li>
def categorias(item): def categorias(item):
logger.info("") logger.info("")
itemlist = [] itemlist = []
@@ -62,13 +61,13 @@ def categorias(item):
def lista(item): def lista(item):
logger.info("") logger.info("")
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = '<article class="TPost B">.*?<a href="([^"]+)">.*?src="([^"]+)".*?<div class="Title">([^"]+)</div>' patron = '<article class="TPost B">.*?<a href="([^"]+)">.*?src="([^"]+)".*?<div class="Title">([^"]+)</div>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle in matches: for scrapedurl,scrapedthumbnail,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
itemlist.append( Item(channel=item.channel, action="findvideos", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="findvideos", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<a class="next page-numbers" href="([^"]+)">Next &raquo;</a>') next_page = scrapertools.find_single_match(data,'<a class="next page-numbers" href="([^"]+)">Next &raquo;</a>')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
+2 -2
View File
@@ -31,7 +31,7 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = host + scrapedthumbnail scrapedthumbnail = host + scrapedthumbnail
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -60,7 +60,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
scrapedurl = scrapertools.find_single_match(data,'<iframe src="(.*?)"') scrapedurl = scrapertools.find_single_match(data,'<iframe src="(.*?)"')
scrapedurl = scrapedurl.replace("pornhub.com/embed/", "pornhub.com/view_video.php?viewkey=") scrapedurl = scrapedurl.replace("pornhub.com/embed/", "pornhub.com/view_video.php?viewkey=")
data = httptools.downloadpage(scrapedurl).data data = httptools.downloadpage(scrapedurl).data
@@ -0,0 +1,15 @@
{
"id": "xxxfreeinhd",
"name": "xxxfreeinhd",
"active": true,
"adult": true,
"language": ["*"],
"thumbnail": "https://watchxxxfreeinhd.com/wp-content/uploads/logo2015%20(1).jpg",
"banner": "",
"categories": [
"adult"
],
"settings": [
]
}
+93
View File
@@ -0,0 +1,93 @@
# -*- coding: utf-8 -*-
#------------------------------------------------------------
import urlparse,urllib2,urllib,re
import os, sys
from platformcode import config, logger
from core import scrapertools
from core.item import Item
from core import servertools
from core import httptools
host = 'https://watchxxxfreeinhd.com'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevos" , action="lista", url=host + "/?filtre=date&cat=0"))
itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="lista", url=host + "/?display=tube&filtre=views"))
itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/?display=tube&filtre=rate"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist
def search(item, texto):
logger.info()
texto = texto.replace(" ", "+")
item.url = host + "search.php?q=%s&language=en&search=Search" % texto
try:
return lista(item)
except:
import sys
for line in sys.exc_info():
logger.error("%s" % line)
return []
def categorias(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>|<br/>", "", data)
patron = '<noscript>.*?src="([^"]+)".*?'
patron += '<a href="([^"]+)" title="([^"]+)".*?'
patron += '<span class="nb_cat border-radius-5">(\d+) videos</span>'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedthumbnail,scrapedurl,scrapedtitle,cantidad in matches:
scrapedplot = ""
title = scrapedtitle + " (" + cantidad + ")"
itemlist.append( Item(channel=item.channel, action="lista", title=title, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist
def lista(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>|<br/>", "", data)
patron = '<li class="border-radius-5 box-shadow">.*?'
patron += '<img width="\d+" height="\d+" src="([^"]+)" class=.*?'
patron += '<a href="([^"]+)" title="([^"]+)">.*?'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedthumbnail,scrapedurl,scrapedtitle in matches:
title = scrapedtitle
thumbnail = scrapedthumbnail + "|https://watchxxxfreeinhd.com/"
plot = ""
itemlist.append( Item(channel=item.channel, action="findvideos", title=title, url=scrapedurl,
thumbnail=thumbnail, plot=plot, fanart=scrapedthumbnail, contentTitle = scrapedtitle))
next_page = scrapertools.find_single_match(data, '<link rel="next" href="([^"]+)"')
if next_page:
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel, action="lista", title="Página Siguiente >>", text_color="blue",
url=next_page) )
return itemlist
def findvideos(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
data = scrapertools.get_match(data,'<div class="video-embed">(.*?)</div>')
patron = '<noscript>.*?<iframe src="([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron)
for url in matches:
itemlist.append(item.clone(action="play", title = "%s", url=url ))
itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
return itemlist
+6 -6
View File
@@ -16,7 +16,7 @@ def mainlist(item):
itemlist.append( Item(channel=item.channel, title="Nuevas", action="lista", url=host + "/browse/time/")) itemlist.append( Item(channel=item.channel, title="Nuevas", action="lista", url=host + "/browse/time/"))
itemlist.append( Item(channel=item.channel, title="Mas Vistas", action="lista", url=host + "/browse/views/")) itemlist.append( Item(channel=item.channel, title="Mas Vistas", action="lista", url=host + "/browse/views/"))
itemlist.append( Item(channel=item.channel, title="Mejor valorada", action="lista", url=host + "/top_rated/")) itemlist.append( Item(channel=item.channel, title="Mejor valorada", action="lista", url=host + "/top_rated/"))
itemlist.append( Item(channel=item.channel, title="Canal", action="categorias", url=host + "/channels/rating/")) itemlist.append( Item(channel=item.channel, title="Canal", action="categorias", url=host + "/channels/most_popular/"))
itemlist.append( Item(channel=item.channel, title="Pornstars", action="catalogo", url=host + "/pornstars/most_popular/")) itemlist.append( Item(channel=item.channel, title="Pornstars", action="catalogo", url=host + "/pornstars/most_popular/"))
itemlist.append( Item(channel=item.channel, title="Categorias", action="categorias", url=host + "/categories/alphabetical/")) itemlist.append( Item(channel=item.channel, title="Categorias", action="categorias", url=host + "/categories/alphabetical/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
@@ -52,7 +52,7 @@ def catalogo(item):
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<div class="currentPage".*?<a href="([^"]+)"') next_page = scrapertools.find_single_match(data,'<div class="currentPage".*?<a href="([^"]+)"')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -82,7 +82,7 @@ def categorias(item):
title = scrapedtitle + " (" + cantidad +")" title = scrapedtitle + " (" + cantidad +")"
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="lista", title=title, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=title, url=scrapedurl,
thumbnail=thumbnail, fanart=thumbnail, plot=scrapedplot) ) fanart=thumbnail, thumbnail=thumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<div class="currentPage".*?<a href="([^"]+)"') next_page = scrapertools.find_single_match(data,'<div class="currentPage".*?<a href="([^"]+)"')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
@@ -93,7 +93,7 @@ def categorias(item):
def lista(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<a href="([^"]+)" class=\'video-box-image\'.*?' patron = '<a href="([^"]+)" class=\'video-box-image\'.*?'
patron += 'data-original="([^"]+)".*?' patron += 'data-original="([^"]+)".*?'
@@ -108,7 +108,7 @@ def lista(item):
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail, itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail,
fanart=thumbnail, plot=plot, contentTitle = contentTitle)) fanart=thumbnail, plot=plot, contentTitle = contentTitle))
next_page = scrapertools.find_single_match(data,'<div class="currentPage".*?<a href="([^"]+)"') next_page = scrapertools.find_single_match(data,'<link rel="next" href="([^"]+)"')
if next_page!="": if next_page!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
@@ -118,7 +118,7 @@ def lista(item):
def play(item): def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = httptools.downloadpage(item.url).data
patron = 'page_params.video.mediaDefinition =.*?"videoUrl":"([^"]+)"' patron = 'page_params.video.mediaDefinition =.*?"videoUrl":"([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl in matches: for scrapedurl in matches:
+1
View File
@@ -10,6 +10,7 @@ from core import httptools
host = 'http://yuuk.net' host = 'http://yuuk.net'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []