# -*- coding: utf-8 -*- import re import urllib import urlparse from core import httptools from core import scrapertools from core.item import Item from platformcode import config, logger host = 'https://www.cumlouder.com' def mainlist(item): logger.info() itemlist = [] config.set_setting("url_error", False, "cumlouder") itemlist.append(item.clone(title="Últimos videos", action="videos", url= host + "/porn/")) itemlist.append(item.clone(title="Pornstars", action="pornstars_list", url=host + "/girls/")) itemlist.append(item.clone(title="Listas", action="series", url= host + "/series/")) itemlist.append(item.clone(title="Categorias", action="categorias", url= host + "/categories/")) itemlist.append(item.clone(title="Buscar", action="search", url= host + "/search?q=%s")) return itemlist def search(item, texto): logger.info() item.url = item.url % texto item.action = "videos" try: return videos(item) except: import traceback logger.error(traceback.format_exc()) return [] def pornstars_list(item): logger.info() itemlist = [] itemlist.append(item.clone(title="Mas Populares", action="pornstars", url=host + "/girls/1/")) for letra in "abcdefghijklmnopqrstuvwxyz": itemlist.append(item.clone(title=letra.upper(), url=urlparse.urljoin(item.url, letra), action="pornstars")) return itemlist def pornstars(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = 'Next[^<]+', re.DOTALL).findall(data) if matches: if "go.php?" in matches[0]: url = urllib.unquote(matches[0].split("/go.php?u=")[1].split("&")[0]) else: url = urlparse.urljoin(item.url, matches[0]) itemlist.append(item.clone(title="Página Siguiente >>", url=url)) return itemlist def categorias(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) patron = 'Next[^<]+', re.DOTALL).findall(data) if matches: if "go.php?" in matches[0]: url = urllib.unquote(matches[0].split("/go.php?u=")[1].split("&")[0]) else: url = urlparse.urljoin(item.url, matches[0]) itemlist.append(item.clone(title="Página Siguiente >>", url=url)) return itemlist def series(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) patron = '([^<]+).*?p>([^<]+)

' matches = re.compile(patron, re.DOTALL).findall(data) for url, thumbnail, title, count in matches: itemlist.append( item.clone(title="%s (%s) " % (title, count), url=urlparse.urljoin(item.url, url), action="videos", fanart=thumbnail, thumbnail=thumbnail)) # Paginador matches = re.compile('Next[^<]+', re.DOTALL).findall(data) if matches: if "go.php?" in matches[0]: url = urllib.unquote(matches[0].split("/go.php?u=")[1].split("&")[0]) else: url = urlparse.urljoin(item.url, matches[0]) itemlist.append(item.clone(title="Página Siguiente >>", url=url)) return itemlist def videos(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = '
') matches = re.compile('Next »', re.DOTALL).findall(nextpage) if not matches: matches = re.compile('Next »', re.DOTALL).findall(nextpage) if matches: if "go.php?" in matches[0]: url = urllib.unquote(matches[0].split("/go.php?u=")[1].split("&")[0]) else: url = urlparse.urljoin(item.url, matches[0]) itemlist.append(item.clone(title="Página Siguiente >>", url=url)) return itemlist def play(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = '