Merge pull request #529 from paeznet/master

Revisado hasta perfectgirls
This commit is contained in:
Alfa
2019-01-16 14:29:56 -05:00
committed by GitHub
32 changed files with 548 additions and 522 deletions
+20 -13
View File
@@ -7,8 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.likuoo.video' host = 'http://www.likuoo.video'
@@ -16,7 +14,8 @@ host = 'http://www.likuoo.video'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Ultimos" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Ultimos" , action="lista", url=host))
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 + "/all-channels/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/all-channels/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -27,7 +26,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/?s=%s" % texto item.url = host + "/search/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -46,16 +45,24 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
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="peliculas", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'...<a href="([^"]+)" class="next">&#187;</a>')
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 peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="item">.*?<a href="([^"]+)" title="(.*?)">.*?src="(.*?)".*?<div class="runtime">(.*?)</div>' patron = '<div class="item">.*?'
patron += '<a href="([^"]+)" title="(.*?)">.*?'
patron += 'src="(.*?)".*?'
patron += '<div class="runtime">(.*?)</div>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches:
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
@@ -64,12 +71,12 @@ def peliculas(item):
contentTitle = title contentTitle = title
thumbnail = "https:" + scrapedthumbnail thumbnail = "https:" + scrapedthumbnail
plot = "" plot = ""
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, infoLabels={'year':year} )) plot=plot, contentTitle = contentTitle))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
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="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+31 -27
View File
@@ -3,13 +3,11 @@
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
host = 'http://www.txxx.com' host = 'http://www.txxx.com'
@@ -17,10 +15,10 @@ host = 'http://www.txxx.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Ultimas" , action="peliculas", url=host + "/latest-updates/")) itemlist.append( Item(channel=item.channel, title="Ultimas" , action="lista", url=host + "/latest-updates/"))
itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="peliculas", url=host + "/top-rated/")) itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="lista", url=host + "/top-rated/"))
itemlist.append( Item(channel=item.channel, title="Mas popular" , action="peliculas", url=host + "/most-popular/")) itemlist.append( Item(channel=item.channel, title="Mas popular" , action="lista", url=host + "/most-popular/"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host + "/channels-list/")) itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host + "/channels-list/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
@@ -31,7 +29,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/s=%s" % texto item.url = host + "/search/s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -44,19 +42,22 @@ def catalogo(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="channel-thumb">.*?<a href="([^"]+)" title="([^"]+)".*?<img src="([^"]+)".*?<span>(.*?)</span>' patron = '<div class="channel-thumb">.*?'
patron += '<a href="([^"]+)" title="([^"]+)".*?'
patron += '<img src="([^"]+)".*?'
patron += '<span>(.*?)</span>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,num in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,num in matches:
scrapedplot = "" scrapedplot = ""
scrapedurl = host + scrapedurl scrapedurl = host + scrapedurl
title = scrapedtitle + "[COLOR yellow] " + num + "[/COLOR]" title = scrapedtitle + "[COLOR yellow] " + num + "[/COLOR]"
itemlist.append( Item(channel=item.channel, action="peliculas", title=title , url=scrapedurl , itemlist.append( Item(channel=item.channel, action="lista", title=title , url=scrapedurl ,
thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) thumbnail=scrapedthumbnail , plot=scrapedplot) )
next_page_url = scrapertools.find_single_match(data,'<a class=" btn btn--size--l btn--next" href="([^"]+)" title="Next Page"') next_page = scrapertools.find_single_match(data,'<a class=" btn btn--size--l btn--next" href="([^"]+)" title="Next Page"')
if next_page_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel , action="catalogo" , title="Página Siguiente >>" , itemlist.append( Item(channel=item.channel , action="catalogo" , title="Página Siguiente >>" ,
text_color="blue", url=next_page_url , folder=True) ) text_color="blue", url=next_page) )
return itemlist return itemlist
@@ -73,33 +74,36 @@ def categorias(item):
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedplot = "" scrapedplot = ""
title = scrapedtitle + "[COLOR yellow] " + num + "[/COLOR]" title = scrapedtitle + "[COLOR yellow] " + num + "[/COLOR]"
itemlist.append( Item(channel=item.channel, action="peliculas", title=title , url=url , itemlist.append( Item(channel=item.channel, action="lista", title=title , url=url ,
thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(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|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = 'data-video-id="\d+">.*?<a href="([^"]+)".*?' patron = 'data-video-id="\d+">.*?<a href="([^"]+)".*?'
patron += '<img src="([^"]+)" alt="([^"]+)".*?' patron += '<img src="([^"]+)" alt="([^"]+)".*?'
patron += '<span class="thumb__duration">(.*?)</span>' patron += '</div>(.*?)</div>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,scrapedtime in matches:
contentTitle = scrapedtitle contentTitle = scrapedtitle
title = "[COLOR yellow]" + time + " [/COLOR]" + scrapedtitle scrapedhd = scrapertools.find_single_match(scrapedtime, '<span class="thumb__hd">(.*?)</span>')
duration = scrapertools.find_single_match(scrapedtime, '<span class="thumb__duration">(.*?)</span>')
if scrapedhd != '':
title = "[COLOR yellow]" +duration+ "[/COLOR] " + "[COLOR red]" +scrapedhd+ "[/COLOR] "+scrapedtitle
else:
title = "[COLOR yellow]" + duration + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = ""
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, infoLabels={'year':year} )) plot=plot, contentTitle=title) )
next_page_url = scrapertools.find_single_match(data,'<a class=" btn btn--size--l btn--next" href="([^"]+)" title="Next Page"') next_page = scrapertools.find_single_match(data,'<a class=" btn btn--size--l btn--next.*?" href="([^"]+)" title="Next Page"')
if next_page_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
text_color="blue", url=next_page_url , folder=True) )
return itemlist return itemlist
+10 -14
View File
@@ -7,9 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.absoluporn.es' host = 'http://www.absoluporn.es'
@@ -18,10 +15,10 @@ def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevos" , action="peliculas", url=host + "/wall-date-1.html")) itemlist.append( Item(channel=item.channel, title="Nuevos" , action="lista", url=host + "/wall-date-1.html"))
itemlist.append( Item(channel=item.channel, title="Mas valorados" , action="peliculas", url=host + "/wall-note-1.html")) itemlist.append( Item(channel=item.channel, title="Mas valorados" , action="lista", url=host + "/wall-note-1.html"))
itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="peliculas", url=host + "/wall-main-1.html")) itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="lista", url=host + "/wall-main-1.html"))
itemlist.append( Item(channel=item.channel, title="Mas largos" , action="peliculas", url=host + "/wall-time-1.html")) itemlist.append( Item(channel=item.channel, title="Mas largos" , action="lista", url=host + "/wall-time-1.html"))
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"))
@@ -33,7 +30,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search-%s-1.html" % texto item.url = host + "/search-%s-1.html" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -52,12 +49,12 @@ def categorias(item):
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedurl = scrapedurl.replace(".html", "_date.html") scrapedurl = scrapedurl.replace(".html", "_date.html")
scrapedurl = host +"/" + scrapedurl scrapedurl = host +"/" + scrapedurl
itemlist.append( Item(channel=item.channel, action="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -72,14 +69,13 @@ def peliculas(item):
title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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} )) 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)
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append( Item(channel=item.channel, action="lista", title="Página Siguiente >>", text_color="blue",
url=next_page ) ) url=next_page) )
return itemlist return itemlist
+13 -16
View File
@@ -7,15 +7,14 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.alsoporn.com' host = 'http://www.alsoporn.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Top" , action="peliculas", url=host + "/g/All/top/1")) itemlist.append( Item(channel=item.channel, title="Top" , action="lista", url=host + "/g/All/top/1"))
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
@@ -26,7 +25,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/=%s/" % texto item.url = host + "/search/=%s/" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -46,8 +45,8 @@ def catalogo(item):
for scrapedurl,cantidad,scrapedtitle in matches: for scrapedurl,cantidad,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -62,12 +61,12 @@ def categorias(item):
for scrapedurl,scrapedthumbnail,scrapedtitle in matches: for scrapedurl,scrapedthumbnail,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
@@ -82,14 +81,12 @@ def peliculas(item):
title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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 = title, infoLabels={'year':year} )) plot=plot, contentTitle = scrapedtitle))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel , action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page_url , folder=True) )
return itemlist return itemlist
+20 -22
View File
@@ -7,17 +7,17 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://www.analdin.com/es' host = 'https://www.analdin.com/es'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host + "/más-reciente/")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/más-reciente/"))
itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="peliculas", url=host + "/más-visto/")) itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/más-visto/"))
itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="peliculas", url=host + "/mejor-valorado/")) itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/mejor-valorado/"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host)) itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categorías/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categorías/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
@@ -29,7 +29,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/?s=%s" % texto item.url = host + "/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -48,13 +48,12 @@ def catalogo(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="peliculas", 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_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel, action="catalogo", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="catalogo", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page_url) )
return itemlist return itemlist
@@ -71,12 +70,12 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
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, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -91,14 +90,13 @@ def peliculas(item):
title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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} )) contentTitle = title))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append( Item(channel=item.channel, action="lista", title="Página Siguiente >>", text_color="blue",
url=next_page_url) ) url=next_page) )
return itemlist return itemlist
+10 -14
View File
@@ -8,8 +8,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.bravoporn.com' host = 'http://www.bravoporn.com'
@@ -17,8 +15,8 @@ host = 'http://www.bravoporn.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host +"/latest-updates/")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host +"/latest-updates/"))
itemlist.append( Item(channel=item.channel, title="Popular" , action="peliculas", url=host + "/most-popular/")) itemlist.append( Item(channel=item.channel, title="Popular" , action="lista", url=host + "/most-popular/"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/c/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/c/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -29,7 +27,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/s/?q=%s" % texto item.url = host + "/s/?q=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -51,12 +49,12 @@ def categorias(item):
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
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="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -70,14 +68,12 @@ def peliculas(item):
title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle
thumbnail = "https:" + scrapedthumbnail thumbnail = "https:" + scrapedthumbnail
plot = "" plot = ""
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 = title, infoLabels={'year':year} )) plot=plot, contentTitle = scrapedtitle))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page_url) )
return itemlist return itemlist
+34 -20
View File
@@ -7,20 +7,16 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://www.camwhoresbay.com' host = 'https://www.camwhoresbay.com'
# EN CATALOGO Y BUSQUEDA LA PAGINACION FUNCIONA CON UN AJAX
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevos" , action="peliculas", url=host + "/latest-updates/")) itemlist.append( Item(channel=item.channel, title="Nuevos" , action="lista", url=host + "/latest-updates/"))
itemlist.append( Item(channel=item.channel, title="Mejor valorados" , action="peliculas", url=host + "/top-rated/")) itemlist.append( Item(channel=item.channel, title="Mejor valorados" , action="lista", url=host + "/top-rated/"))
itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="peliculas", url=host + "/most-popular/")) itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="lista", url=host + "/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
@@ -28,10 +24,11 @@ def mainlist(item):
def search(item, texto): def search(item, texto):
logger.info() logger.info()
texto = texto.replace(" ", "+") item.url = "%s/search/%s/" % (host, texto.replace("+", "-"))
item.url = host + "/search/%s/" % texto item.extra = texto
try: try:
return peliculas(item) return lista(item)
# Se captura la excepción, para no interrumpir al buscador global si un canal falla
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -51,12 +48,12 @@ def categorias(item):
for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches:
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
scrapedplot = "" scrapedplot = ""
itemlist.append( Item(channel=item.channel, action="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -70,14 +67,31 @@ def peliculas(item):
title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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} )) contentTitle = scrapedtitle, fanart=scrapedthumbnail))
next_page = scrapertools.find_single_match(data, '<li class="next"><a href="([^"]+)"') if item.extra:
if next_page: next_page = scrapertools.find_single_match(data, '<li class="next">.*?from_videos\+from_albums:(\d+)')
next_page = urlparse.urljoin(item.url,next_page) if next_page:
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>", text_color="blue", if "from_videos=" in item.url:
url=next_page ) ) next_page = re.sub(r'&from_videos=(\d+)', '&from_videos=%s' % next_page, item.url)
else:
next_page = "%s?mode=async&function=get_block&block_id=list_videos_videos_list_search_result" \
"&q=%s&category_ids=&sort_by=post_date&from_videos=%s" % (item.url, item.extra, next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page))
else:
next_page = scrapertools.find_single_match(data, '<li class="next"><a href="([^"]+)"')
if next_page and not next_page.startswith("#"):
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
else:
next_page = scrapertools.find_single_match(data, '<li class="next">.*?from:(\d+)')
if next_page:
if "from" in item.url:
next_page = re.sub(r'&from=(\d+)', '&from=%s' % next_page, item.url)
else:
next_page = "%s?mode=async&function=get_block&block_id=list_videos_common_videos_list&sort_by=post_date&from=%s" % (
item.url, next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page))
return itemlist return itemlist
@@ -94,7 +108,7 @@ def play(item):
scrapedurl = scrapertools.find_single_match(data, 'video_url: \'([^\']+)\'') scrapedurl = scrapertools.find_single_match(data, 'video_url: \'([^\']+)\'')
itemlist.append(Item(channel=item.channel, action="play", title=scrapedurl, fulltitle=item.title, url=scrapedurl, itemlist.append(Item(channel=item.channel, action="play", title=scrapedurl, fulltitle=item.title, url=scrapedurl,
thumbnail=item.thumbnail, plot=item.plot, show=item.title, server="directo", folder=False)) thumbnail=item.thumbnail, plot=item.plot, show=item.title, server="directo"))
return itemlist return itemlist
+16 -18
View File
@@ -7,8 +7,7 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://www.cliphunter.com' host = 'https://www.cliphunter.com'
@@ -16,8 +15,8 @@ host = 'https://www.cliphunter.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host + "/categories/All")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/categories/All"))
itemlist.append( Item(channel=item.channel, title="Popular" , action="peliculas", url=host + "/popular/ratings/yesterday")) itemlist.append( Item(channel=item.channel, title="Popular" , action="lista", url=host + "/popular/ratings/yesterday"))
itemlist.append( Item(channel=item.channel, title="Pornstars" , action="catalogo", url=host + "/pornstars/")) itemlist.append( Item(channel=item.channel, title="Pornstars" , action="catalogo", 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"))
@@ -29,7 +28,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/%s" % texto item.url = host + "/search/%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -47,13 +46,13 @@ def catalogo(item):
for scrapedurl,scrapedthumbnail,scrapedtitle in matches: for scrapedurl,scrapedthumbnail,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/movies" scrapedurl = urlparse.urljoin(item.url,scrapedurl) + "/movies"
itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) thumbnail=scrapedthumbnail , plot=scrapedplot) )
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel, action="catalogo", title="Página Siguiente >>", text_color="blue", itemlist.append( Item(channel=item.channel, action="catalogo", title="Página Siguiente >>", text_color="blue",
url=next_page_url) ) url=next_page) )
return itemlist return itemlist
@@ -68,12 +67,12 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle scrapedtitle = scrapedtitle
scrapedurl = urlparse.urljoin(item.url,scrapedurl) scrapedurl = urlparse.urljoin(item.url,scrapedurl)
itemlist.append( Item(channel=item.channel, action="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -88,11 +87,10 @@ def peliculas(item):
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} )) contentTitle = title, infoLabels={'year':year} ))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel , action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page_url) )
return itemlist return itemlist
+7 -9
View File
@@ -2,7 +2,6 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
@@ -16,7 +15,7 @@ host ='http://www.coomelonitas.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", 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
@@ -27,7 +26,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host+ "/?s=%s" % texto item.url = host+ "/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -43,12 +42,12 @@ def categorias(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -61,9 +60,8 @@ def peliculas(item):
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") ) thumbnail=thumbnail, plot=plot, viewmode="movie") )
next_page_url = scrapertools.find_single_match(data,'<a href="([^"]+)" class="siguiente">') next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="siguiente">')
if next_page_url!="": if next_page!="":
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page_url) )
return itemlist return itemlist
+17 -50
View File
@@ -7,8 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.elreyx.com' host = 'http://www.elreyx.com'
@@ -17,11 +15,11 @@ def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host + "/peliculasporno.html")) itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", url=host + "/peliculasporno.html") )
itemlist.append( Item(channel=item.channel, title="Escenas" , action="escenas", url=host + "/index.html")) itemlist.append( Item(channel=item.channel, title="Escenas" , action="lista", url=host + "/index.html"))
itemlist.append( Item(channel=item.channel, title="Productora" , action="productora", url=host + "/index.html")) itemlist.append( Item(channel=item.channel, title="Productora" , action="categorias", url=host + "/index.html") )
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/peliculasporno.html")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/peliculasporno.html") )
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search") )
return itemlist return itemlist
@@ -30,7 +28,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search-%s" % texto + ".html" item.url = host + "/search-%s" % texto + ".html"
try: try:
return escenas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -38,43 +36,33 @@ def search(item, texto):
return [] return []
def productora(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<a href="([^<]+)" title="View Category ([^<]+)">(.*?)</a>'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
scrapedplot = ""
thumbnail="https:" + scrapedthumbnail
url="https:" + scrapedurl
itemlist.append( Item(channel=item.channel, action="escenas", title=scrapedtitle, url=url, thumbnail=thumbnail,
plot=scrapedplot) )
return itemlist
def categorias(item): def categorias(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|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<td><a href="([^<]+)" title="Movies ([^<]+)">.*?</a>' if item.title == "Categorias" :
patron = '<td><a href="([^<]+)" title="Movies ([^<]+)">.*?</a>'
else:
patron = '<a href="([^<]+)" title="View Category ([^<]+)">.*?</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:
scrapedplot = "" scrapedplot = ""
url="https:" + scrapedurl url="https:" + scrapedurl
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=url, itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=url,
thumbnail=scrapedthumbnail, plot=scrapedplot) ) thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def escenas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
patron = '<div class="notice_image">.*?<a title="([^"]+)" href="([^"]+)">.*?<img src="(.*?)"' if not "/peliculasporno" in item.url:
patron = '<div class="notice_image">.*?<a title="([^"]+)" href="([^"]+)">.*?<img src="(.*?)">'
else:
patron = '<div class="captura"><a title="([^"]+)" href="([^"]+)".*?><img src="(.*?)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedtitle,scrapedurl,scrapedthumbnail in matches: for scrapedtitle,scrapedurl,scrapedthumbnail in matches:
scrapedplot = "" scrapedplot = ""
@@ -87,28 +75,7 @@ def escenas(item):
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>')
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(channel=item.channel, action="escenas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page) )
return itemlist
def peliculas(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
patron = '<div class="captura"><a title="([^"]+)" href="([^"]+)".*?><img src="(.*?)"'
matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedtitle,scrapedurl,scrapedthumbnail in matches:
scrapedplot = ""
url="https:" + scrapedurl
thumbnail="https:" + scrapedthumbnail
itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=url, thumbnail=thumbnail,
plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li><a href=\'([^\']+)\' title=\'Pagina \d+\'>&raquo;</a>')
if next_page!="":
next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel , action="peliculas", title="Página Siguiente >>", text_color="blue",
url=next_page) )
return itemlist return itemlist
+5 -8
View File
@@ -2,13 +2,11 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
host = 'http://www.eroticage.net' host = 'http://www.eroticage.net'
@@ -16,7 +14,7 @@ host = 'http://www.eroticage.net'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Novedades" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Novedades" , action="lista", 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
@@ -27,7 +25,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/?s=%s" % texto item.url = host + "/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -45,12 +43,12 @@ def categorias(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -67,8 +65,7 @@ def peliculas(item):
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!="":
next_page = urlparse.urljoin(item.url,next_page) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page) )
return itemlist return itemlist
@@ -7,15 +7,14 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.peliculaseroticasonline.tv' host = 'http://www.peliculaseroticasonline.tv'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", 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
@@ -26,7 +25,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/?s=%s" % texto item.url = host + "/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -43,12 +42,12 @@ def categorias(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -63,8 +62,7 @@ def peliculas(item):
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)
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page ))
url=next_page ))
return itemlist return itemlist
+7 -10
View File
@@ -7,8 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://fapality.com' host = 'https://fapality.com'
@@ -16,9 +14,9 @@ host = 'https://fapality.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host + "/newest/")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/newest/"))
itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="peliculas", 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="peliculas", 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="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"))
@@ -30,7 +28,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/?q=%s" % texto item.url = host + "/search/?q=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -51,12 +49,12 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
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="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -75,8 +73,7 @@ def peliculas(item):
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)
itemlist.append( Item(channel=item.channel , action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page_url) )
url=next_page_url) )
return itemlist return itemlist
+19 -15
View File
@@ -7,8 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://www.fetishshrine.com' host = 'https://www.fetishshrine.com'
@@ -16,9 +14,9 @@ host = 'https://www.fetishshrine.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host + "/latest-updates/")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/latest-updates/"))
itemlist.append( Item(channel=item.channel, title="Popular" , action="peliculas", url=host + "/most-popular/")) itemlist.append( Item(channel=item.channel, title="Popular" , action="lista", url=host + "/most-popular/"))
itemlist.append( Item(channel=item.channel, title="Mejor Valorado" , action="peliculas", url=host + "/top-rated/")) itemlist.append( Item(channel=item.channel, title="Mejor Valorado" , action="lista", url=host + "/top-rated/"))
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
@@ -29,7 +27,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/?q=%s" % texto item.url = host + "/search/?q=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -42,21 +40,26 @@ 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 = '<a href="([^"]+)" title="([^"]+) porn tube" class="thumb">.*?<img src="([^"]+)".*?<span class="total">([^"]+)</span>' patron = '<a href="([^"]+)" title="([^"]+)">.*?'
patron += '<img src="([^"]+)".*?'
patron += '<span class="vids">(\d+)</span>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches:
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
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="([^"]+)">.*?<img src="([^"]+)".*?alt="([^"]+)">.*?<span class="duration">(.*?)</span>' patron = '<a href="([^"]+)" itemprop="url">.*?'
patron += '<img src="([^"]+)" alt="([^"]+)">.*?'
patron += '<span itemprop="duration" class="length">(.*?)</span>'
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 in matches:
url = scrapedurl url = scrapedurl
@@ -65,11 +68,12 @@ def peliculas(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = "" year = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail, plot=plot, contentTitle = contentTitle, infoLabels={'year':year} )) itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
next_page_url = scrapertools.find_single_match(data,'<li class="next"><a.*?href="([^"]+)" title="Next">') plot=plot, contentTitle = contentTitle, infoLabels={'year':year} ))
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<li><a data=\'\d+\' href="([^"]+)" title="Next">')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>", text_color="blue", url=next_page_url , folder=True) ) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="lista" , title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+6 -8
View File
@@ -2,14 +2,11 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
def mainlist(item): def mainlist(item):
@@ -19,19 +16,21 @@ def mainlist(item):
item.url = "http://www.filmovix.net/videoscategory/porno/" item.url = "http://www.filmovix.net/videoscategory/porno/"
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = scrapertools.get_match(data,'<h1 class="cat_head">XXX</h1>(.*?)<h3> Novo dodato </h3>') data = scrapertools.get_match(data,'<h1 class="cat_head">XXX</h1>(.*?)<h3> Novo dodato </h3>')
patron = '<li class="clearfix">.*?src="([^"]+)".*?<p class="title"><a href="([^"]+)" rel="bookmark" title="([^"]+)">' patron = '<li class="clearfix">.*?'
patron += 'src="([^"]+)".*?'
patron += '<p class="title"><a href="([^"]+)" rel="bookmark" title="([^"]+)">'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedthumbnail,scrapedurl,scrapedtitle in matches: for scrapedthumbnail,scrapedurl,scrapedtitle in matches:
contentTitle = scrapedtitle contentTitle = scrapedtitle
title = scrapedtitle title = scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = "" 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, plot=plot, contentTitle=contentTitle, infoLabels={'year':year} )) thumbnail=thumbnail, plot=plot, contentTitle=contentTitle))
next_page_url = scrapertools.find_single_match(data,'<a class="nextpostslink" rel="next" href="([^"]+)">') next_page_url = scrapertools.find_single_match(data,'<a class="nextpostslink" rel="next" 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="mainlist" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) itemlist.append(item.clone(action="mainlist", title="Página Siguiente >>", text_color="blue", url=next_page_url) )
return itemlist return itemlist
@@ -39,7 +38,6 @@ def play(item):
logger.info() logger.info()
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
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.title videoitem.title = item.title
videoitem.fulltitle = item.fulltitle videoitem.fulltitle = item.fulltitle
+10 -11
View File
@@ -2,14 +2,11 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.streamxxxx.com' host = 'http://www.streamxxxx.com'
@@ -17,7 +14,7 @@ host = 'http://www.streamxxxx.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url= host)) itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", 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))
return itemlist return itemlist
@@ -32,11 +29,12 @@ def categorias(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -48,10 +46,11 @@ def peliculas(item):
scrapertools.printMatches(matches) scrapertools.printMatches(matches)
for scrapedurl,scrapedtitle,scrapedthumbnail in matches: for scrapedurl,scrapedtitle,scrapedthumbnail in matches:
plot = "" plot = ""
itemlist.append( Item(channel=item.channel, action="findvideos", title=scrapedtitle , fulltitle=scrapedtitle, url=scrapedurl , thumbnail=scrapedthumbnail , plot=plot , viewmode="movie", folder=True) ) itemlist.append( Item(channel=item.channel, action="findvideos", title=scrapedtitle, url=scrapedurl,
next_page_url = scrapertools.find_single_match(data,'<a href="([^"]+)">Next') thumbnail=scrapedthumbnail , plot=plot , viewmode="movie") )
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<a href="([^"]+)">Next')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+24 -18
View File
@@ -7,15 +7,13 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://es.foxtube.com' host = 'http://es.foxtube.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Ultimos" , action="lista", 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
@@ -26,7 +24,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/buscador/%s" % texto item.url = host + "/buscador/%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -45,29 +43,37 @@ def categorias(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedurl = host + 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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
patron = '<a class="thumb tco1" href="([^"]+)">.*?src="([^"]+)".*?alt="([^"]+)".*?<i class="m tc2">(.*?)</i>' patron = '<a class="thumb tco1" href="([^"]+)">.*?'
patron += 'src="([^"]+)".*?'
patron += 'alt="([^"]+)".*?'
patron += '<span class="t">(.*?)</span>'
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 in matches:
url = host + scrapedurl url = urlparse.urljoin(item.url,scrapedurl)
title = "[COLOR yellow]" + duracion + "[/COLOR] " + scrapedtitle contentTitle = scrapedtitle
contentTitle = title time = scrapertools.find_single_match(duracion, '<i class="m tc2">([^"]+)</i>')
if not 'HD' in duracion :
title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
else:
title = "[COLOR yellow]" + time + "[/COLOR] " + "[COLOR red]" + "HD" + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail + "|Referer=%s" %host thumbnail = scrapedthumbnail + "|Referer=%s" %host
plot = "" plot = ""
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, infoLabels={'year':year} )) plot=plot, contentTitle = contentTitle))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
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="lista" , title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
@@ -76,7 +82,7 @@ def play(item):
itemlist = [] itemlist = []
url = scrapertools.find_single_match(scrapertools.cachePage(item.url),'<iframe src="([^"]+)"') url = scrapertools.find_single_match(scrapertools.cachePage(item.url),'<iframe src="([^"]+)"')
data = httptools.downloadpage(url).data data = httptools.downloadpage(url).data
patron = 'html5player.setVideoUrlHigh\\(\'([^\']+)\'' patron = 'html5player.setVideoHLS\\(\'([^\']+)\''
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl in matches: for scrapedurl in matches:
scrapedurl = scrapedurl.replace("\/", "/") scrapedurl = scrapedurl.replace("\/", "/")
+22 -14
View File
@@ -7,16 +7,15 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://frprn.com' host = 'https://frprn.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host))
itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="peliculas", 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="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
@@ -27,7 +26,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/%s/" % texto item.url = host + "/search/%s/" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -40,22 +39,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 = '<li class="thumb thumb-category">.*?<a href="([^"]+)">.*?<img class="lazy" data-original="([^"]+)">.*?<div class="name">([^"]+)</div>.*?<div class="count">(\d+)</div>' patron = '<li class="thumb thumb-category">.*?'
patron += '<a href="([^"]+)">.*?'
patron += '<img class="lazy" data-original="([^"]+)">.*?'
patron += '<div class="name">([^"]+)</div>.*?'
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,cantidad in matches:
scrapedplot = "" scrapedplot = ""
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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<div class="thumb">.*?<a href="([^"]+)".*?<img class="lazy" data-original="([^"]+)" alt="([^"]+)".*?<span class="duration">([^"]+)</span>' patron = '<div class="thumb">.*?'
patron += '<a href="([^"]+)".*?'
patron += '<img class="lazy" data-original="([^"]+)" alt="([^"]+)".*?'
patron += '<span class="duration">([^"]+)</span>'
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 in matches:
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
@@ -64,11 +71,12 @@ def peliculas(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = "" year = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail, plot=plot, contentTitle = contentTitle, infoLabels={'year':year} )) itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
next_page_url = scrapertools.find_single_match(data,'<li class="pagination-next"><a href="([^"]+)">') plot=plot, contentTitle = contentTitle))
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<li class="pagination-next"><a href="([^"]+)">')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+10 -14
View File
@@ -2,14 +2,11 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://freepornstreams.org' host = 'http://freepornstreams.org'
@@ -17,8 +14,8 @@ host = 'http://freepornstreams.org'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host + "/free-full-porn-movies/")) itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", url=host + "/free-full-porn-movies/"))
itemlist.append( Item(channel=item.channel, title="Videos" , action="peliculas", url=host + "/free-stream-porn/")) itemlist.append( Item(channel=item.channel, title="Videos" , action="lista", url=host + "/free-stream-porn/"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host)) itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host))
itemlist.append( Item(channel=item.channel, title="Categoria" , action="categorias", url=host)) itemlist.append( Item(channel=item.channel, title="Categoria" , action="categorias", url=host))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
@@ -30,7 +27,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/?s=%s" % texto item.url = host + "/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -49,7 +46,7 @@ def catalogo(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
itemlist.append( Item(channel=item.channel, action="peliculas", 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
@@ -65,12 +62,12 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedurl = scrapedurl.replace ("http://freepornstreams.org/freepornst/stout.php?s=100,75,65:*&#038;u=" , "") scrapedurl = scrapedurl.replace ("http://freepornstreams.org/freepornst/stout.php?s=100,75,65:*&#038;u=" , "")
itemlist.append( Item(channel=item.channel, action="peliculas", 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
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -85,11 +82,10 @@ def peliculas(item):
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) ) plot=plot, fulltitle=title) )
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel , action="peliculas", title="Página Siguiente >>", text_color="blue", itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
url=next_page_url) )
return itemlist return itemlist
+13 -8
View File
@@ -7,11 +7,10 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.hclips.com' host = 'http://www.hclips.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
@@ -41,12 +40,16 @@ 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 = '<a href="([^"]+)" class="thumb">.*?src="([^"]+)".*?<strong class="title">([^"]+)</strong>.*?<b>(.*?)</b>' patron = '<a href="([^"]+)" class="thumb">.*?'
patron += 'src="([^"]+)".*?'
patron += '<strong class="title">([^"]+)</strong>.*?'
patron += '<b>(.*?)</b>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,vidnum in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,vidnum in matches:
scrapedplot = "" scrapedplot = ""
title = scrapedtitle + " \(" + vidnum + "\)" title = scrapedtitle + " \(" + vidnum + "\)"
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,
thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -54,19 +57,21 @@ def peliculas(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
patron = '<a href="([^"]+)" class="thumb">.*?<img src="([^"]+)" alt="([^"]+)".*?<span class="dur">(.*?)</span>' patron = '<a href="([^"]+)" class="thumb">.*?'
patron += '<img src="([^"]+)" alt="([^"]+)".*?'
patron += '<span class="dur">(.*?)</span>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches:
title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
contentTitle = title contentTitle = title
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = "" 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, plot=plot, contentTitle = contentTitle, infoLabels={'year':year} )) thumbnail=thumbnail, plot=plot, contentTitle = contentTitle))
next_page_url = scrapertools.find_single_match(data,'<a href="([^"]+)" title="Next Page">Next</a>') next_page_url = scrapertools.find_single_match(data,'<a href="([^"]+)" title="Next Page">Next</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)
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
+21 -16
View File
@@ -7,17 +7,15 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://www.hdzog.com' host = 'http://www.hdzog.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevos" , action="peliculas", url=host + "/new/")) itemlist.append( Item(channel=item.channel, title="Nuevos" , action="lista", url=host + "/new/"))
itemlist.append( Item(channel=item.channel, title="Popular" , action="peliculas", url=host + "/popular/")) itemlist.append( Item(channel=item.channel, title="Popular" , action="lista", url=host + "/popular/"))
itemlist.append( Item(channel=item.channel, title="Longitud" , action="peliculas", url=host + "/longest/")) itemlist.append( Item(channel=item.channel, title="Longitud" , action="lista", url=host + "/longest/"))
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
@@ -27,7 +25,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/?q=%s" % texto item.url = host + "/search/?q=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -41,33 +39,40 @@ def categorias(item):
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = scrapertools.get_match(data,'<ul class="cf">(.*?)</ul>') data = scrapertools.get_match(data,'<ul class="cf">(.*?)</ul>')
data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
patron = '<li>.*?<a href="([^"]+)".*?<img class="thumb" src="([^"]+)" alt="([^"]+)".*?<span class="videos-count">(\d+)</span>' patron = '<li>.*?<a href="([^"]+)".*?'
patron += '<img class="thumb" src="([^"]+)" alt="([^"]+)".*?'
patron += '<span class="videos-count">(\d+)</span>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,vidnum in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,vidnum in matches:
scrapedplot = "" scrapedplot = ""
url= scrapedurl + "?sortby=post_date"
title = scrapedtitle + " \(" + vidnum + "\)" title = scrapedtitle + " \(" + vidnum + "\)"
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="lista", title=scrapedtitle, url=url,
thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
data = scrapertools.get_match(data,'<ul class="cf">(.*?)<h2>Advertisement</h2>') data = scrapertools.get_match(data,'<ul class="cf">(.*?)<h2>Advertisement</h2>')
patron = '<li>.*?<a href="([^"]+)".*?src="([^"]+)" alt="([^"]+)" />.*?<span class="time">(.*?)</span>' patron = '<li>.*?<a href="([^"]+)".*?'
patron += 'src="([^"]+)" alt="([^"]+)".*?'
patron += '<span class="time">(.*?)</span>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,time in matches:
contentTitle = scrapedtitle contentTitle = scrapedtitle
title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = "" 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, plot=plot, contentTitle = contentTitle, infoLabels={'year':year} )) thumbnail=thumbnail, plot=plot, contentTitle = contentTitle))
next_page_url = scrapertools.find_single_match(data,'<a href="([^"]+)" title="Next Page" data-page-num="\d+">Next page &raquo;</a>') next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" title="Next Page" data-page-num="\d+">Next page &raquo;</a>')
if next_page_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
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="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+21 -22
View File
@@ -7,15 +7,13 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://hellporno.com' host = 'http://hellporno.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host + "/?page=1")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/?page=1"))
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
@@ -26,7 +24,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/?q=%s" % texto item.url = host + "/search/?q=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -39,25 +37,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 = '<a href="([^"]+)">.*?<img src="([^"]+)" alt="([^"]+) - Porn videos">.*?<span>(\d+) videos</span>' patron = '<a href="([^"]+)">.*?'
patron += '<img src="([^"]+)" alt="([^"]+) - Porn videos">.*?'
patron += '<span>(\d+) videos</span>'
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 = ""
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
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="lista", title=scrapedtitle, url=scrapedurl,
next_page_url = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next">Next page &raquo;</a>') thumbnail=scrapedthumbnail , plot=scrapedplot) )
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<a href="([^"]+)" class="next">Next page &raquo;</a>')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="categorias" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) 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 peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
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>.*?<span class="time">([^<]+)</span>.*?<video poster="([^"]+)"' patron = '<div class="video-thumb"><a href="([^"]+)" class="title".*?>([^"]+)</a>.*?'
patron += '<span class="time">([^<]+)</span>.*?'
patron += '<video poster="([^"]+)"'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,duracion,scrapedthumbnail in matches: for scrapedurl,scrapedtitle,duracion,scrapedthumbnail in matches:
url = scrapedurl url = scrapedurl
@@ -65,12 +68,12 @@ def peliculas(item):
contentTitle = title contentTitle = title
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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, infoLabels={'year':year} )) plot=plot, contentTitle = contentTitle))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
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="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
@@ -78,10 +81,6 @@ def play(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
#<source src="https://hellporno.com/get_file/6/b44b40165f7e95e4aeff4d9c33100447/202000/202198/202198_360p.mp4/?br=390" title="360p" type="video/mp4" />
#<source data-fluid-hd src="https://hellporno.com/get_file/6/4ec6bbf8288123603094c76d9cd8ede4/202000/202198/202198.mp4/?br=1440" title="720p" type="video/mp4" />
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+"')
+30 -25
View File
@@ -7,17 +7,15 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://hotmovs.com' host = 'https://hotmovs.com'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host + "/latest-updates/")) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/latest-updates/"))
itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="peliculas", url=host + "/most-popular/?sort_by=video_viewed_week")) itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/most-popular/?sort_by=video_viewed_week"))
itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="peliculas", url=host + "/top-rated/?sort_by=rating_week")) itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/top-rated/?sort_by=rating_week"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host + "/channels/?sort_by=cs_viewed")) itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host + "/channels/?sort_by=cs_viewed"))
itemlist.append( Item(channel=item.channel, title="Pornstars" , action="categorias", url=host + "/models/")) itemlist.append( Item(channel=item.channel, title="Pornstars" , action="categorias", url=host + "/models/"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/?sort_by=title")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/?sort_by=title"))
@@ -30,7 +28,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/?q=%s" % texto item.url = host + "/search/?q=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -43,18 +41,22 @@ def catalogo(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 = '<a class="thumbnail" href="([^"]+)">.*?<img src="([^"]+)".*?<span class="thumbnail__info__right">\s+([^"]+)\s+</span>.*?<h5>([^"]+)</h5>' patron = '<a class="thumbnail" href="([^"]+)">.*?'
patron += '<img src="([^"]+)".*?'
patron += '<span class="thumbnail__info__right">\s+([^"]+)\s+</span>.*?'
patron += '<h5>([^"]+)</h5>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedthumbnail,cantidad,scrapedtitle in matches: for scrapedurl,scrapedthumbnail,cantidad,scrapedtitle in matches:
scrapedplot = "" scrapedplot = ""
cantidad = cantidad.replace(" ", "") cantidad = cantidad.replace(" ", "")
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="lista", title=scrapedtitle, url=scrapedurl,
next_page_url = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"') thumbnail=scrapedthumbnail , plot=scrapedplot) )
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="catalogo" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="catalogo", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
@@ -63,22 +65,25 @@ 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 = '<a class="thumbnail" href="([^"]+)" title="([^"]+)">.*?<img src="([^"]+)".*?<i class="mdi mdi-video"></i>([^"]+)</div>' patron = '<a class="thumbnail" href="([^"]+)" title="([^"]+)">.*?'
patron += '<img src="([^"]+)".*?'
patron += '<i class="mdi mdi-video"></i>([^"]+)</div>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches:
scrapedplot = "" scrapedplot = ""
cantidad = cantidad.replace(" ", "") cantidad = cantidad.replace(" ", "")
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="lista", title=scrapedtitle, url=scrapedurl,
next_page_url = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"') thumbnail=scrapedthumbnail, plot=scrapedplot) )
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="categorias" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) 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 peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
@@ -90,12 +95,12 @@ def peliculas(item):
title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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 = title, infoLabels={'year':year} )) plot=plot, contentTitle = title))
next_page_url = 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_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
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="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+12 -25
View File
@@ -2,14 +2,11 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
host = 'http://javl.in' host = 'http://javl.in'
@@ -17,7 +14,7 @@ host = 'http://javl.in'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="lista" , action="lista", 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
@@ -28,7 +25,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host+ "/?s=%s" % texto item.url = host+ "/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -48,11 +45,12 @@ def categorias(item):
scrapedtitle = str(scrapedtitle) + " ("+ str(number) + ")" scrapedtitle = str(scrapedtitle) + " ("+ str(number) + ")"
scrapedurl = "http://javl.in/?cat=" + scrapedurl scrapedurl = "http://javl.in/?cat=" + scrapedurl
thumbnail = urlparse.urljoin(item.url,scrapedthumbnail) thumbnail = urlparse.urljoin(item.url,scrapedthumbnail)
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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
@@ -60,23 +58,12 @@ def peliculas(item):
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:
scrapedplot = "" scrapedplot = ""
itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) itemlist.append( Item(channel=item.channel, action="findvideos", title=scrapedtitle, url=scrapedurl,
next_page_url = scrapertools.find_single_match(data,'<span class=\'currenttext\'>.*?href=\'([^\']+)\' class=\'inactive\'>') thumbnail=scrapedthumbnail, plot=scrapedplot) )
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<span class=\'currenttext\'>.*?href=\'([^\']+)\' class=\'inactive\'')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append( Item(channel=item.channel , action="lista", title="Página Siguiente >>", text_color="blue",
return itemlist url=next_page) )
def play(item):
logger.info()
data = scrapertools.cachePage(item.url)
itemlist = servertools.find_video_items(data=data)
for videoitem in itemlist:
videoitem.title = item.title
videoitem.fulltitle = item.fulltitle
videoitem.thumbnail = item.thumbnail
videoitem.channel = item.channel
return itemlist return itemlist
+17 -15
View File
@@ -7,8 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://www.javwhores.com/' host = 'https://www.javwhores.com/'
@@ -17,10 +15,9 @@ host = 'https://www.javwhores.com/'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevos" , action="peliculas", url=host + "/latest-updates/")) itemlist.append( Item(channel=item.channel, title="Nuevos" , action="lista", url=host + "/latest-updates/"))
itemlist.append( Item(channel=item.channel, title="Mejor valorados" , action="peliculas", url=host + "/top-rated/")) itemlist.append( Item(channel=item.channel, title="Mejor valorados" , action="lista", url=host + "/top-rated/"))
itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="peliculas", url=host + "/most-popular/")) itemlist.append( Item(channel=item.channel, title="Mas vistos" , action="lista", url=host + "/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
@@ -31,7 +28,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/%s/" % texto item.url = host + "/search/%s/" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -51,30 +48,35 @@ def categorias(item):
for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,cantidad in matches:
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
scrapedplot = "" scrapedplot = ""
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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
patron = '<div class="video-item ">.*?' patron = '<div class="video-item ">.*?'
patron += '<a href="([^"]+)" title="([^"]+)" class="thumb">.*?' patron += '<a href="([^"]+)" title="([^"]+)" class="thumb">.*?'
patron += 'data-original="([^"]+)".*?' patron += 'data-original="([^"]+)".*?'
patron += '<i class="fa fa-clock-o"></i>(.*?)</div>' patron += '<span class="ico-fav-1(.*?)<p class="inf">'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,duracion in matches:
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle time = scrapertools.find_single_match(duracion, '<i class="fa fa-clock-o"></i>([^"]+)</div>')
if not 'HD' in duracion :
title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
else:
title = "[COLOR yellow]" + time + "[/COLOR] " + "[COLOR red]" + "HD" + "[/COLOR] " + scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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 = title, infoLabels={'year':year} )) plot=plot, 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)
itemlist.append( Item(channel=item.channel, action="peliculas", 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
+11 -8
View File
@@ -7,8 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://jizzbunker.com/es' host = 'http://jizzbunker.com/es'
@@ -42,14 +40,17 @@ 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><figure>.*?<a href="([^"]+)".*?<img class="lazy" data-original="([^"]+)" alt="([^"]+)".*?<span class="score">(\d+)</span>' patron = '<li><figure>.*?<a href="([^"]+)".*?'
patron += '<img class="lazy" data-original="([^"]+)" alt="([^"]+)".*?'
patron += '<span class="score">(\d+)</span>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
scrapertools.printMatches(matches) scrapertools.printMatches(matches)
for scrapedurl,scrapedthumbnail,scrapedtitle,cantidad in matches: for scrapedurl,scrapedthumbnail,scrapedtitle,cantidad in matches:
scrapedplot = "" scrapedplot = ""
scrapedurl = scrapedurl.replace("channel", "channel30") scrapedurl = scrapedurl.replace("channel", "channel30")
scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedtitle = scrapedtitle + " (" + cantidad + ")"
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,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return itemlist
@@ -58,7 +59,9 @@ def peliculas(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><figure>.*?<a href="([^"]+)/([^"]+).html".*?<img class="lazy" data-original="([^"]+)".*?<time datetime=".*?">([^"]+)</time>' patron = '<li><figure>.*?<a href="([^"]+)/([^"]+).html".*?'
patron += '<img class="lazy" data-original="([^"]+)".*?'
patron += '<time datetime=".*?">([^"]+)</time>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,duracion in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,duracion in matches:
url = scrapedurl + "/" + scrapedtitle + ".html" url = scrapedurl + "/" + scrapedtitle + ".html"
@@ -66,12 +69,12 @@ def peliculas(item):
contentTitle = title contentTitle = title
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
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, infoLabels={'year':year} )) plot=plot, contentTitle = contentTitle))
next_page_url = scrapertools.find_single_match(data,'<li><a href="([^"]+)" rel="next">&rarr;</a>') next_page_url = scrapertools.find_single_match(data,'<li><a href="([^"]+)" rel="next">&rarr;</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)
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
+45 -18
View File
@@ -2,14 +2,11 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://xxx.justporno.tv' host = 'http://xxx.justporno.tv'
@@ -17,9 +14,9 @@ host = 'http://xxx.justporno.tv'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Ultimos" , action="peliculas", url=host + "/latest-updates/1/")) itemlist.append( Item(channel=item.channel, title="Ultimos" , action="lista", url=host + "/latest-updates/1/"))
itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="peliculas", url=host + "/top-rated/")) itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="lista", url=host + "/top-rated/"))
itemlist.append( Item(channel=item.channel, title="Mas Vistas", action="peliculas", url=host + "/most-popular/")) itemlist.append( Item(channel=item.channel, title="Mas Vistas", action="lista", url=host + "/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
@@ -27,10 +24,11 @@ def mainlist(item):
def search(item, texto): def search(item, texto):
logger.info() logger.info()
texto = texto.replace(" ", "+") item.url = "%s/search/%s/" % (host, texto.replace("+", "-"))
item.url = host + "/search/%s" % texto item.extra = texto
try: try:
return peliculas(item) return lista(item)
# Se captura la excepción, para no interrumpir al buscador global si un canal falla
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -42,33 +40,62 @@ def categorias(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
patron = '<a class="item" href="([^"]+)" title="([^"]+)">.*?<div class="videos">(\d+) video.*?</div>' patron = '<a class="item" href="([^"]+)" title="([^"]+)">.*?'
patron += '<div class="videos">(\d+) video.*?</div>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,numero in matches: for scrapedurl,scrapedtitle,numero in matches:
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedtitle = scrapedtitle + " (" + numero + ")" scrapedtitle = scrapedtitle + " (" + numero + ")"
thumbnail = urlparse.urljoin(item.url,scrapedthumbnail) thumbnail = urlparse.urljoin(item.url,scrapedthumbnail)
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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
patron = '<a href="http://xxx.justporno.tv/videos/(\d+)/.*?" title="([^"]+)" >.*?data-original="([^"]+)".*?<div class="duration">(.*?)</div>' patron = '<a href="http://xxx.justporno.tv/videos/(\d+)/.*?" title="([^"]+)" >.*?'
patron += 'data-original="([^"]+)".*?'
patron += '<div class="duration">(.*?)</div>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches:
scrapedplot = "" scrapedplot = ""
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 , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl,
next_page_url = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"') thumbnail=scrapedthumbnail , plot=scrapedplot) )
if next_page_url!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) if item.extra:
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) next_page = scrapertools.find_single_match(data, '<li class="next">.*?from_videos\+from_albums:(.*?)>')
if next_page:
if "from_videos=" in item.url:
next_page = re.sub(r'&from_videos=(\d+)', '&from_videos=%s' % next_page, item.url)
else:
next_page = "%s?mode=async&function=get_block&block_id=list_videos_videos_list_search_result"\
"&q=%s&category_ids=&sort_by=post_date&from_videos=%s" % (item.url, item.extra, next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page))
else:
next_page = scrapertools.find_single_match(data,'<li class="next"><a href="([^"]+)"')
if next_page and not next_page.startswith("#"):
next_page = urlparse.urljoin(host, next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page))
else:
next_page = scrapertools.find_single_match(data, '<li class="next">.*?from:(\d+)')
if next_page:
if "from" in item.url:
next_page = re.sub(r'&from=(\d+)', '&from=%s' % next_page, item.url)
else:
next_page = "%s?mode=async&function=get_block&block_id=list_videos_common_videos_list" \
"&sort_by=post_date&from=%s" % (item.url, next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page))
# if 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) )
return itemlist return itemlist
+11 -13
View File
@@ -2,24 +2,21 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'http://mporno.tv' host = 'http://mporno.tv'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Novedades" , action="peliculas", url=host + "/most-recent/", plot="/most-recent/")) itemlist.append( Item(channel=item.channel, title="Novedades" , action="peliculas", url=host + "/most-recent/"))
itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="peliculas", url=host + "/top-rated/", plot="/top-rated/")) itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="peliculas", url=host + "/top-rated/"))
itemlist.append( Item(channel=item.channel, title="Mas vistas" , action="peliculas", url=host + "/most-viewed/", plot="/most-viewed/")) itemlist.append( Item(channel=item.channel, title="Mas vistas" , action="peliculas", url=host + "/most-viewed/"))
itemlist.append( Item(channel=item.channel, title="Longitud" , action="peliculas", url=host + "/longest/", plot="/longest/")) itemlist.append( Item(channel=item.channel, title="Longitud" , action="peliculas", url=host + "/longest/"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/channels/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/channels/"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
return itemlist return itemlist
@@ -45,10 +42,11 @@ def categorias(item):
patron = '<h3><a href="([^"]+)">(.*?)</a> <small>(.*?)</small></h3>' patron = '<h3><a href="([^"]+)">(.*?)</a> <small>(.*?)</small></h3>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,cantidad in matches: for scrapedurl,scrapedtitle,cantidad in matches:
scrapedplot = scrapedurl.replace("http://mporno.unblckd.org/", "").replace("page1.html", "") scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedtitle = scrapedtitle + " " + cantidad scrapedtitle = scrapedtitle + " " + cantidad
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,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return itemlist
@@ -64,13 +62,13 @@ def peliculas(item):
title = scrapedtitle title = scrapedtitle
scrapedurl = scrapedurl.replace("/thumbs/", "/videos/") + ".mp4" scrapedurl = scrapedurl.replace("/thumbs/", "/videos/") + ".mp4"
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = item.plot plot = ""
year = "" 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, infoLabels={'year':year} )) 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)
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
+41 -15
View File
@@ -7,15 +7,15 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
from core import jsontools
host = 'https://www.muchoporno.xxx' host = 'https://www.muchoporno.xxx'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host))
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="Categorias" , action="categorias", url=host + "/categorias/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/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
@@ -26,7 +26,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/search/?q=%s" % texto item.url = host + "/search/?q=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -39,22 +39,47 @@ 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 = '<a class="muestra-escena muestra-categoria" href="([^"]+)" title="([^"]+)">.*?src="([^"]+)"' if "/sitios/" in item.url:
patron = '<div class="muestra-escena muestra-canales">.*?href="(.*?)">.*?'
patron += 'src="(.*?)".*?'
patron += '<a title="(.*?)".*?'
patron += '</span> (.*?) videos</span>'
if "/pornstars/" in item.url:
patron = '<a class="muestra-escena muestra-pornostar" href="([^"]+)">.*?'
patron += 'src="([^"]+)".*?'
patron += 'alt="([^"]+)".*?'
patron += '</span> (\d+) videos</span>'
else:
patron = '<a class="muestra-escena muestra-categoria" href="([^"]+)" title="[^"]+">.*?'
patron += 'src="([^"]+)".*?'
patron += '</span> ([^"]+) </h2>(.*?)>'
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,cantidad in matches:
scrapedplot = "" scrapedplot = ""
scrapedtitle = scrapedtitle cantidad = " (" + cantidad + ")"
if "</a" in cantidad:
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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)">Siguiente</a></li>')
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 peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
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="([^"]+)".*?data-stats-video-name="([^"]+)".*?<img src="([^"]+)".*?<span class="ico-minutos sprite" title="Length"></span>([^"]+)</span>' patron = '<a class="muestra-escena"\s*href="([^"]+)".*?'
patron += 'data-stats-video-name="([^"]+)".*?'
patron += '<img src="([^"]+)".*?'
patron += '<span class="ico-minutos sprite" title="Length"></span>([^"]+)</span>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
for scrapedurl,scrapedtitle,scrapedthumbnail,duracion in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,duracion in matches:
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
@@ -63,11 +88,12 @@ def peliculas(item):
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = "" year = ""
itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail, plot=plot, contentTitle = contentTitle, infoLabels={'year':year} )) itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail,
next_page_url = scrapertools.find_single_match(data,'<li><a href="([^"]+)">Siguiente</a></li>') plot=plot, contentTitle = contentTitle))
if next_page_url!="": next_page = scrapertools.find_single_match(data,'<li><a href="([^"]+)">Siguiente</a></li>')
next_page_url = urlparse.urljoin(item.url,next_page_url) if next_page!="":
itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) next_page = urlparse.urljoin(item.url,next_page)
itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+13 -14
View File
@@ -2,13 +2,11 @@
#------------------------------------------------------------ #------------------------------------------------------------
import urlparse,urllib2,urllib,re import urlparse,urllib2,urllib,re
import os, sys import os, sys
from core import jsontools as json
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
from platformcode import config, logger from platformcode import config, logger
from core import httptools from core import httptools
from core import tmdb
host= 'https://pandamovies.pw' host= 'https://pandamovies.pw'
@@ -16,7 +14,7 @@ host= 'https://pandamovies.pw'
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host + "/list-movies")) itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", url=host + "/list-movies"))
itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/list-movies")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/list-movies"))
itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/list-movies")) itemlist.append( Item(channel=item.channel, title="Canal" , action="categorias", url=host + "/list-movies"))
itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search"))
@@ -28,7 +26,7 @@ def search(item, texto):
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = host + "/?s=%s" % texto item.url = host + "/?s=%s" % texto
try: try:
return peliculas(item) return lista(item)
except: except:
import sys import sys
for line in sys.exc_info(): for line in sys.exc_info():
@@ -51,11 +49,12 @@ def categorias(item):
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedurl = scrapedurl.replace("https:", "") scrapedurl = scrapedurl.replace("https:", "")
scrapedurl = "https:" + scrapedurl scrapedurl = "https:" + 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="lista", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail , plot=scrapedplot) )
return itemlist return itemlist
def peliculas(item): def lista(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = scrapertools.cachePage(item.url) data = scrapertools.cachePage(item.url)
@@ -67,13 +66,13 @@ def peliculas(item):
title = scrapedtitle title = scrapedtitle
thumbnail = scrapedthumbnail thumbnail = scrapedthumbnail
plot = "" plot = ""
year = "" 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, infoLabels={'year':year} )) plot=plot, contentTitle = title))
next_page_url = 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_url =="": if next_page =="":
next_page_url = scrapertools.find_single_match(data,'<a.*?href="([^"]+)" >Next &raquo;</a>') next_page = scrapertools.find_single_match(data,'<a.*?href="([^"]+)" >Next &raquo;</a>')
if next_page_url!="": if next_page!="":
next_page_url = urlparse.urljoin(item.url,next_page_url) next_page = urlparse.urljoin(item.url,next_page)
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="lista", title="Página Siguiente >>", text_color="blue", url=next_page) )
return itemlist return itemlist
+11 -15
View File
@@ -7,7 +7,6 @@ from core import scrapertools
from core.item import Item from core.item import Item
from core import servertools from core import servertools
from core import httptools from core import httptools
from core import tmdb
host = 'http://www.perfectgirls.net' host = 'http://www.perfectgirls.net'
@@ -17,7 +16,6 @@ def mainlist(item):
itemlist = [] itemlist = []
itemlist.append( Item(channel=item.channel, title="Ultimos" , action="peliculas", url=host)) itemlist.append( Item(channel=item.channel, title="Ultimos" , action="peliculas", url=host))
itemlist.append( Item(channel=item.channel, title="Top" , action="peliculas", url=host + "/top/3days/")) itemlist.append( Item(channel=item.channel, title="Top" , action="peliculas", url=host + "/top/3days/"))
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
@@ -47,7 +45,8 @@ def categorias(item):
scrapedplot = "" scrapedplot = ""
scrapedthumbnail = "" scrapedthumbnail = ""
url = urlparse.urljoin(item.url,scrapedurl) + "/1" url = urlparse.urljoin(item.url,scrapedurl) + "/1"
itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle , url=url , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=url,
thumbnail=scrapedthumbnail, plot=scrapedplot) )
return itemlist return itemlist
@@ -61,24 +60,21 @@ def peliculas(item):
patron += '<time>(.*?)</a>' patron += '<time>(.*?)</a>'
matches = re.compile(patron,re.DOTALL).findall(data) matches = re.compile(patron,re.DOTALL).findall(data)
scrapertools.printMatches(matches) scrapertools.printMatches(matches)
for scrapedurl,scrapedtitle,scrapedthumbnail,time in matches: for scrapedurl,scrapedtitle,scrapedthumbnail,duracion in matches:
plot = "" plot = ""
contentTitle = scrapedtitle time = scrapertools.find_single_match(duracion, '([^"]+)</time>')
scrapedhd = scrapertools.find_single_match(time, '<div class="hd">([^"]+)</div>') if not 'HD' in duracion :
if scrapedhd == 'HD':
time = scrapertools.find_single_match(time, '([^"]+)</time>')
title = "[COLOR yellow]" + time + "[/COLOR] " + "[COLOR red]" + scrapedhd + "[/COLOR] " + scrapedtitle
else:
time = scrapertools.find_single_match(time, '([^"]+)</time>')
title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle title = "[COLOR yellow]" + time + "[/COLOR] " + scrapedtitle
else:
title = "[COLOR yellow]" + time + "[/COLOR] " + "[COLOR red]" + "HD" + "[/COLOR] " + scrapedtitle
scrapedthumbnail = "http:" + scrapedthumbnail scrapedthumbnail = "http:" + scrapedthumbnail
url = urlparse.urljoin(item.url,scrapedurl) url = urlparse.urljoin(item.url,scrapedurl)
year = "" 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 = contentTitle, infoLabels={'year':year} )) 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)
itemlist.append( Item(channel=item.channel, action="peliculas", title="Página Siguiente >>" , text_color="blue", url=next_page )) itemlist.append(item.clone(action="peliculas", title="Página Siguiente >>", text_color="blue", url=next_page ))
return itemlist return itemlist
@@ -89,6 +85,6 @@ def play(item):
patron = '<source src="([^"]+)" res="\d+" label="([^"]+)" type="video/mp4" default/>' patron = '<source src="([^"]+)" res="\d+" label="([^"]+)" type="video/mp4" default/>'
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.clone(action="play", title=scrapedtitle, fulltitle = item.title, url=scrapedurl)) itemlist.append(item.clone(action="play", title=scrapedtitle, url=scrapedurl))
return itemlist return itemlist
+15 -19
View File
@@ -64,15 +64,14 @@ def lista(item):
action = "play" action = "play"
if config.get_setting("menu_info", "porntrex"): if config.get_setting("menu_info", "porntrex"):
action = "menu_info" action = "menu_info"
# Quita las entradas, que no son private
# Extrae las entradas patron = '<div class="video-preview-screen video-item thumb-item ".*?<a href="([^"]+)".*?'
patron = '<div class="video-item.*?href="([^"]+)" ' patron += 'data-src="([^"]+)".*?'
patron += 'title="([^"]+)".*?' patron += 'alt="([^"]+)".*?'
patron += 'data-src="([^"]+)"' patron += '<span class="quality">(.*?)<.*?'
patron += '(.*?)<div class="durations">.*?'
patron += '</i>([^<]+)<' patron += '</i>([^<]+)<'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl, scrapedtitle, scrapedthumbnail, quality, duration in matches: for scrapedurl, scrapedthumbnail, scrapedtitle, quality, duration in matches:
if "go.php?" in scrapedurl: if "go.php?" in scrapedurl:
scrapedurl = urllib.unquote(scrapedurl.split("/go.php?u=")[1].split("&")[0]) scrapedurl = urllib.unquote(scrapedurl.split("/go.php?u=")[1].split("&")[0])
if not scrapedthumbnail.startswith("https"): if not scrapedthumbnail.startswith("https"):
@@ -81,13 +80,9 @@ def lista(item):
scrapedurl = urlparse.urljoin(host, scrapedurl) scrapedurl = urlparse.urljoin(host, scrapedurl)
if not scrapedthumbnail.startswith("https"): if not scrapedthumbnail.startswith("https"):
scrapedthumbnail = "https:%s" % scrapedthumbnail scrapedthumbnail = "https:%s" % scrapedthumbnail
if duration: scrapedtitle = "%s - [COLOR red]%s[/COLOR] %s" % (duration, quality, scrapedtitle)
scrapedtitle = "%s - %s" % (duration, scrapedtitle) itemlist.append(item.clone(action=action, title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
if '>HD<' in quality: contentThumbnail=scrapedthumbnail, fanart=scrapedthumbnail))
scrapedtitle += " [COLOR red][HD][/COLOR]"
itemlist.append(item.clone(action=action, title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, contentThumbnail=scrapedthumbnail,
fanart=scrapedthumbnail))
# Extrae la marca de siguiente página # Extrae la marca de siguiente página
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+)')
@@ -95,7 +90,7 @@ def lista(item):
if "from_videos=" in item.url: if "from_videos=" in item.url:
next_page = re.sub(r'&from_videos=(\d+)', '&from_videos=%s' % next_page, item.url) next_page = re.sub(r'&from_videos=(\d+)', '&from_videos=%s' % next_page, item.url)
else: else:
next_page = "%s?mode=async&function=get_block&block_id=list_videos_videos_list_search_result" \ next_page = "%s?mode=async&function=get_block&block_id=list_videos_videos" \
"&q=%s&category_ids=&sort_by=post_date&from_videos=%s" % (item.url, item.extra, next_page) "&q=%s&category_ids=&sort_by=post_date&from_videos=%s" % (item.url, item.extra, next_page)
itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page)) itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page))
else: else:
@@ -107,12 +102,13 @@ def lista(item):
next_page = urlparse.urljoin(host, next_page) next_page = urlparse.urljoin(host, next_page)
itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page)) itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page))
else: else:
next_page = scrapertools.find_single_match(data, '<li class="next">.*?from:(\d+)') next_page = scrapertools.find_single_match(data, '<li class="next">.*?from4:(\d+)')
if next_page: if next_page:
if "from=" in item.url: if "from4" in item.url:
next_page = re.sub(r'&from=(\d+)', '&from=%s' % next_page, item.url) next_page = re.sub(r'&from4=(\d+)', '&from4=%s' % next_page, item.url)
else: else:
next_page = "%s?mode=async&function=get_block&block_id=list_videos_common_videos_list&sort_by=post_date&from=%s" % ( next_page = "%s?mode=async&function=get_block&block_id=list_videos_common_videos_list_norm" \
"&sort_by=post_date&from4=%s" % (
item.url, next_page) item.url, next_page)
itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page)) itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page))
return itemlist return itemlist