Corrección XDVideos
This commit is contained in:
@@ -15,96 +15,112 @@ hosts = "http://xdvideos.org/dragon-ball-super/"
|
|||||||
|
|
||||||
|
|
||||||
def mainlist(item):
|
def mainlist(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
thumb_series = get_thumb("channels_tvshow.png")
|
thumb_series = get_thumb("channels_tvshow.png")
|
||||||
|
|
||||||
itemlist = list()
|
itemlist = list()
|
||||||
|
|
||||||
itemlist.append(Item(channel=item.channel, action="categorias", title="Categorias", url=host,
|
itemlist.append(Item(channel=item.channel, action="categorias",
|
||||||
thumbnail=thumb_series))
|
title="Categorias", url=host, thumbnail=thumb_series))
|
||||||
itemlist.append(Item(channel=item.channel, action="episodios", title="Dragon Ball Super", url=hosts,
|
itemlist.append(Item(channel=item.channel, action="episodios", title="Dragon Ball Super", url=hosts,
|
||||||
thumbnail=thumb_series))
|
thumbnail=thumb_series))
|
||||||
return itemlist
|
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|\s{2}| ", "", data)
|
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
||||||
patron = '<ul id="menu-menu-2" class="menu">(.+)>Problemas'
|
patron = '<ul id="nav">(.+)>Problemas'
|
||||||
data = scrapertools.find_single_match(data, patron)
|
data = scrapertools.find_single_match(data, patron)
|
||||||
patron_cat = '<li id="menu-item-[^"]+" class=".+?"><a href="([^"]+)">([^"]+)<\/a><ulclass="sub-menu">'
|
patron_cat = '<li id="menu-item-[^"]+" class=".+?"><a href="([^"]+)">([^"]+)<\/a><ul class="sub-menu">'
|
||||||
matches = scrapertools.find_multiple_matches(data, patron_cat)
|
matches = scrapertools.find_multiple_matches(data, patron_cat)
|
||||||
for url, name in matches:
|
for url, name in matches:
|
||||||
if name != 'Clasicos':
|
if name != 'Clasicos':
|
||||||
title = name
|
title = name
|
||||||
itemlist.append(item.clone(title=title, url=url, action="lista", show=title))
|
itemlist.append(item.clone(title=title, url=url,
|
||||||
return itemlist
|
action="lista", show=title))
|
||||||
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def lista(item):
|
def lista(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
|
itemlist = []
|
||||||
|
|
||||||
itemlist = []
|
data = httptools.downloadpage(item.url).data
|
||||||
|
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
||||||
data = httptools.downloadpage(item.url).data
|
category = item.title
|
||||||
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
patron = '<li id="menu-item-[^"]+" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-[^"]+ current_page_item menu-item-has-children menu-item-[^"]+"><a href="[^"]+">[^"]+<\/a>(.+?)<\/a><\/li><\/ul><\/li>'
|
||||||
category = item.title
|
content = scrapertools.find_single_match(data, patron)
|
||||||
patron = '<li id="menu-item-[^"]+" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-[^"]+ current_page_item menu-item-has-children menu-item-[^"]+"><a href="[^"]+">[^"]+<\/a>(.+?)<\/a><\/li><\/ul><\/li>'
|
patron_lista = '<a href="([^"]+)">([^"]+)<\/a>'
|
||||||
content = scrapertools.find_single_match(data, patron)
|
match_series = scrapertools.find_multiple_matches(content, patron_lista)
|
||||||
patron_lista = '<a href="([^"]+)">([^"]+)<\/a>'
|
for url, title in match_series:
|
||||||
match_series = scrapertools.find_multiple_matches(content, patron_lista)
|
if "(" in title:
|
||||||
for url, title in match_series:
|
show_dual = title.split("(")
|
||||||
if "(" in title:
|
show = show_dual[1]
|
||||||
show_dual = title.split("(")
|
if ")" in show:
|
||||||
show = show_dual[1]
|
show = show.rstrip(")")
|
||||||
if ")" in show:
|
else:
|
||||||
show = show.rstrip(")")
|
show = title
|
||||||
else:
|
itemlist.append(item.clone(title=title, url=url,
|
||||||
show = title
|
action="episodios", show=show, plot=show))
|
||||||
itemlist.append(item.clone(title=title, url=url, action="episodios", show=show, plot=show))
|
tmdb.set_infoLabels(itemlist)
|
||||||
tmdb.set_infoLabels(itemlist)
|
return itemlist
|
||||||
return itemlist
|
|
||||||
|
|
||||||
|
|
||||||
def episodios(item):
|
def episodios(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
|
itemlist = []
|
||||||
|
|
||||||
itemlist = []
|
data = httptools.downloadpage(item.url).data
|
||||||
|
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
||||||
|
|
||||||
data = httptools.downloadpage(item.url).data
|
scrapedshow = scrapertools.find_single_match(
|
||||||
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
data, '(?s)<h1 class="post-title">([^"]+)<\/h1>')
|
||||||
scrapedshow, scrapedthumbnail = scrapertools.find_single_match(data,
|
|
||||||
'<h1 class="entry-title">([^"]+)<\/h1>.+?<img .+? src="([^"]+)"')
|
|
||||||
data = scrapertools.find_single_match(data, '<div class="entry-content">(.+?)<div id="wpdevar')
|
|
||||||
patron_caps = '<a href="([^"]+)">([^"]+)<\/a>'
|
|
||||||
matches = scrapertools.find_multiple_matches(data, patron_caps)
|
|
||||||
i = 0
|
|
||||||
for url, name in matches:
|
|
||||||
i = i + 1
|
|
||||||
if i < 10:
|
|
||||||
title = "1x0" + str(i) + " " + name
|
|
||||||
else:
|
|
||||||
title = "1x" + str(i) + " " + name
|
|
||||||
itemlist.append(
|
|
||||||
item.clone(title=title, url=url, action="findvideos", show=scrapedshow, thumbnail=scrapedthumbnail))
|
|
||||||
|
|
||||||
return itemlist
|
scrapedthumbnail = scrapertools.find_single_match(
|
||||||
|
data, '(?s)<h1 class="post-title">*?<img .+? src="([^"]+)"')
|
||||||
|
|
||||||
|
data = scrapertools.find_single_match(
|
||||||
|
data, '(?s)<div class="post-content">(.+?)<ul class="single-share">')
|
||||||
|
|
||||||
|
patron_caps = '<a href="([^"]+)">([^"]+)<\/a>'
|
||||||
|
matches = scrapertools.find_multiple_matches(data, patron_caps)
|
||||||
|
|
||||||
|
for url, name in matches:
|
||||||
|
logger.info("url A=%s" % url)
|
||||||
|
if ("temporada" in url) and (("capitulo" in url) or ("episodio" in url)):
|
||||||
|
if ("capitulo" in url):
|
||||||
|
season, chapter = scrapertools.find_single_match(
|
||||||
|
url, 'temporada-([0-9]+)-?.+capitulo-([0-9]+)')
|
||||||
|
if ("episodio" in url):
|
||||||
|
season, chapter = scrapertools.find_single_match(
|
||||||
|
url, 'temporada-([0-9]+)-?.+episodio-([0-9]+)')
|
||||||
|
title = season + "x" + chapter.zfill(2) + " " + name
|
||||||
|
else:
|
||||||
|
title = name
|
||||||
|
|
||||||
|
itemlist.append(
|
||||||
|
item.clone(title=title, url=url, action="findvideos", show=scrapedshow, thumbnail=scrapedthumbnail))
|
||||||
|
|
||||||
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
|
data = httptools.downloadpage(item.url).data
|
||||||
|
itemlist.extend(servertools.find_video_items(data=data))
|
||||||
|
scrapedthumbnail = scrapertools.find_single_match(data, 'src="([^"]+)"')
|
||||||
|
for videoitem in itemlist:
|
||||||
|
videoitem.channel = item.channel
|
||||||
|
videoitem.thumbnail = scrapedthumbnail
|
||||||
|
|
||||||
|
return itemlist
|
||||||
|
|
||||||
data = httptools.downloadpage(item.url).data
|
|
||||||
itemlist.extend(servertools.find_video_items(data=data))
|
|
||||||
scrapedthumbnail = scrapertools.find_single_match(data, 'src="([^"]+)"')
|
|
||||||
for videoitem in itemlist:
|
|
||||||
videoitem.channel = item.channel
|
|
||||||
videoitem.thumbnail = scrapedthumbnail
|
|
||||||
|
|
||||||
return itemlist
|
|
||||||
|
|||||||
Reference in New Issue
Block a user