SpeedUp Animeworld
This commit is contained in:
+11
-33
@@ -258,63 +258,43 @@ def episodios(item):
|
|||||||
log()
|
log()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
data = httptools.downloadpage(item.url, headers=headers).data.replace('\n', '')
|
patron_block = r'<div class="widget servers".*?>(.*?)<div id="download"'
|
||||||
block1 = scrapertoolsV2.find_single_match(data, r'<div class="widget servers".*?>(.*?)<div id="download"')
|
patron = r'<li><a [^=]+="[^"]+"[^=]+="[^"]+"[^=]+="[^"]+"[^=]+="[^"]+"[^=]+="[^"]+" href="([^"]+)"[^>]+>([^<]+)<'
|
||||||
block = scrapertoolsV2.find_single_match(block1,r'<div class="server.*?>(.*?)<div class="server.*?>')
|
matches = support.match(item, patron, patron_block)[0]
|
||||||
|
|
||||||
patron = r'<li><a.*?href="([^"]+)".*?>(.*?)<\/a>'
|
|
||||||
matches = re.compile(patron, re.DOTALL).findall(block)
|
|
||||||
|
|
||||||
extra = {}
|
|
||||||
extra['data'] = block1.replace('<strong>Attenzione!</strong> Non ci sono episodi in questa sezione, torna indietro!.','')
|
|
||||||
|
|
||||||
for scrapedurl, scrapedtitle in matches:
|
for scrapedurl, scrapedtitle in matches:
|
||||||
extra['episode'] = scrapedtitle
|
|
||||||
scrapedtitle = '[B] Episodio ' + scrapedtitle + '[/B]'
|
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(
|
Item(
|
||||||
channel=item.channel,
|
channel=item.channel,
|
||||||
action="findvideos",
|
action="findvideos",
|
||||||
contentType="episode",
|
contentType="episode",
|
||||||
title=scrapedtitle,
|
title='[B] Episodio ' + scrapedtitle + '[/B]',
|
||||||
url=urlparse.urljoin(host, scrapedurl),
|
url=urlparse.urljoin(host, scrapedurl),
|
||||||
fulltitle=scrapedtitle,
|
fulltitle=scrapedtitle,
|
||||||
show=scrapedtitle,
|
show=scrapedtitle,
|
||||||
plot=item.plot,
|
plot=item.plot,
|
||||||
fanart=item.thumbnail,
|
fanart=item.thumbnail,
|
||||||
extra=extra,
|
|
||||||
thumbnail=item.thumbnail))
|
thumbnail=item.thumbnail))
|
||||||
|
|
||||||
autorenumber.renumber(itemlist, item,'bold')
|
autorenumber.renumber(itemlist, item,'bold')
|
||||||
support.videolibrary(itemlist, item)
|
support.videolibrary(itemlist, item)
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
log()
|
log()
|
||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
episode = ''
|
|
||||||
|
|
||||||
if item.extra and item.extra['episode']:
|
data = httptools.downloadpage(item.url, headers=headers).data
|
||||||
data = item.extra['data']
|
matches, data = support.match(item, r'class="tab.*?data-name="([0-9]+)">([^<]+)</span', headers=headers)
|
||||||
episode = item.extra['episode']
|
|
||||||
else:
|
|
||||||
data = httptools.downloadpage(item.url, headers=headers).data
|
|
||||||
block = scrapertoolsV2.find_single_match(data,r'data-target="\.widget\.servers.*?>(.*?)</div>')
|
|
||||||
servers = scrapertoolsV2.find_multiple_matches(block,r'class="tab.*?data-name="([0-9]+)">([^<]+)</span')
|
|
||||||
|
|
||||||
videolist = []
|
|
||||||
videoData = ''
|
videoData = ''
|
||||||
|
|
||||||
for serverid, servername in servers:
|
for serverid, servername in matches:
|
||||||
#recupero l'id del video per questo server
|
block = scrapertoolsV2.find_multiple_matches(data,'data-id="'+serverid+'">(.*?)<div class="server')
|
||||||
block = str(scrapertoolsV2.find_multiple_matches(data,r'<div class="server.*?data-id="'+serverid+'">(.*?)</ul>'))
|
id = scrapertoolsV2.find_single_match(str(block),r'<a data-id="([^"]+)" data-base="'+item.fulltitle+'"')
|
||||||
id = scrapertoolsV2.find_single_match(data,r'<a\sdata-id="([^"]+)"\sdata-base="'+episode+'"')
|
|
||||||
|
|
||||||
dataJson = httptools.downloadpage('%s/ajax/episode/info?id=%s&server=%s&ts=%s' % (host, id, serverid, int(time.time())), headers=[['x-requested-with', 'XMLHttpRequest']]).data
|
dataJson = httptools.downloadpage('%s/ajax/episode/info?id=%s&server=%s&ts=%s' % (host, id, serverid, int(time.time())), headers=[['x-requested-with', 'XMLHttpRequest']]).data
|
||||||
json = jsontools.load(dataJson)
|
json = jsontools.load(dataJson)
|
||||||
|
log('JSON= ',json)
|
||||||
|
|
||||||
videoData +='\n'+json['grabber']
|
videoData +='\n'+json['grabber']
|
||||||
|
|
||||||
@@ -331,7 +311,5 @@ def findvideos(item):
|
|||||||
contentType=item.contentType,
|
contentType=item.contentType,
|
||||||
folder=False))
|
folder=False))
|
||||||
|
|
||||||
|
return support.server(item, videoData, itemlist)
|
||||||
itemlist += servertools.find_video_items(item,videoData)
|
|
||||||
return support.server(item,itemlist=itemlist)
|
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -552,13 +552,14 @@ def pagination(itemlist, item, page, perpage, function_level=1):
|
|||||||
thumbnail=thumb()))
|
thumbnail=thumb()))
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
def server(item, data='', itemlist='', headers='', AutoPlay=True, CheckLinks=True):
|
def server(item, data='', itemlist=[], headers='', AutoPlay=True, CheckLinks=True):
|
||||||
|
|
||||||
if not data:
|
if not data:
|
||||||
data = httptools.downloadpage(item.url, headers=headers, ignore_response_code=True).data
|
data = httptools.downloadpage(item.url, headers=headers, ignore_response_code=True).data
|
||||||
|
|
||||||
if not itemlist:
|
|
||||||
itemlist = servertools.find_video_items(data=str(data))
|
itemList = servertools.find_video_items(data=str(data))
|
||||||
|
itemlist += itemList
|
||||||
|
|
||||||
for videoitem in itemlist:
|
for videoitem in itemlist:
|
||||||
videoitem.title = "".join([item.title, ' ', typo(videoitem.title, 'color kod []'), typo(videoitem.quality, 'color kod []') if videoitem.quality else ""])
|
videoitem.title = "".join([item.title, ' ', typo(videoitem.title, 'color kod []'), typo(videoitem.quality, 'color kod []') if videoitem.quality else ""])
|
||||||
|
|||||||
Reference in New Issue
Block a user