From a240610772bf438b7e06baa322600cf5bc7c0490 Mon Sep 17 00:00:00 2001 From: greko17 Date: Mon, 4 Nov 2019 00:46:42 +0100 Subject: [PATCH] fix: canali con findhost() --- channels/altadefinizione01.py | 13 ++++---- channels/casacinemaInfo.py | 11 +++++-- channels/eurostreaming.py | 16 ++++++---- channels/seriehd.py | 60 +++++++++++++++++------------------ channels/serietvonline.py | 16 +++++++--- 5 files changed, 66 insertions(+), 50 deletions(-) diff --git a/channels/altadefinizione01.py b/channels/altadefinizione01.py index 506b091d..be01b78f 100644 --- a/channels/altadefinizione01.py +++ b/channels/altadefinizione01.py @@ -27,14 +27,12 @@ def findhost(): host = scrapertoolsV2.find_single_match(data, '
]+>[^>]+ [^>]+[^>]+ [^>]+>(?P[^<]+).*?[^>]+>(?P<year>\d{4})<'\ @@ -106,7 +105,8 @@ def orderalf(item): def search(item, text): support.log(item, text) - + findhost() + itemlist = [] text = text.replace(" ", "+") item.url = host + "/index.php?do=search&story=%s&subaction=search" % (text) @@ -122,6 +122,7 @@ def search(item, text): def newest(categoria): support.log(categoria) + findhost() itemlist = [] item = Item() try: diff --git a/channels/casacinemaInfo.py b/channels/casacinemaInfo.py index 8f48cdef..d94c55a4 100644 --- a/channels/casacinemaInfo.py +++ b/channels/casacinemaInfo.py @@ -32,7 +32,7 @@ def findhost(): headers = [['Referer', host]] if host.endswith('/'): host = host[:-1] -findhost() + list_servers = ['supervideo', 'streamcherry','rapidvideo', 'streamango', 'openload'] list_quality = ['default', 'HD', '3D', '4K', 'DVD', 'SD'] @@ -40,7 +40,7 @@ list_quality = ['default', 'HD', '3D', '4K', 'DVD', 'SD'] @support.menu def mainlist(item): support.log(item) - + findhost() film = ['', ('Al Cinema', ['/category/in-sala/', 'peliculas', '']), ('Novità', ['/category/nuove-uscite/', 'peliculas', '']), @@ -55,7 +55,8 @@ def mainlist(item): def peliculas(item): support.log(item) #support.dbg() # decommentare per attivare web_pdb - + #findhost() + blacklist = [''] if item.args != 'search': patron = r'<div class="col-mt-5 postsh">[^<>]+<div class="poster-media-card">[^<>]+<a href="(?P<url>[^"]+)" title="(?P<title>.+?)[ ]?(?:\[(?P<lang>Sub-ITA)\])?".*?<img(?:.+?)?src="(?P<thumb>[^"]+)"' @@ -66,6 +67,7 @@ def peliculas(item): patronNext = '<a href="([^"]+)"\s+?><i class="glyphicon glyphicon-chevron-right"' + #support.regexDbg(item, patronBlock, headers) #debug = True return locals() @@ -86,6 +88,7 @@ def genres(item): def search(item, text): support.log('search', item) + findhost() itemlist = [] text = text.replace(' ', '+') item.args = 'search' @@ -101,8 +104,10 @@ def search(item, text): def newest(categoria): support.log('newest ->', categoria) + findhost() itemlist = [] item = Item() + try: if categoria == 'peliculas': item.url = host diff --git a/channels/eurostreaming.py b/channels/eurostreaming.py index e0948c03..7e96865e 100644 --- a/channels/eurostreaming.py +++ b/channels/eurostreaming.py @@ -26,7 +26,7 @@ def findhost(): host = 'https://www.'+permUrl['location'].replace('https://www.google.it/search?q=site:', '') headers = [['Referer', host]] -findhost() + list_servers = ['verystream', 'wstream', 'speedvideo', 'flashx', 'nowvideo', 'streamango', 'deltabit', 'openload'] list_quality = ['default'] @@ -34,13 +34,12 @@ list_quality = ['default'] @support.menu def mainlist(item): support.log() + findhost() tvshow = ['' ] - anime = ['/category/anime-cartoni-animati/' ] - mix = [ (support.typo('Aggiornamenti Serie-Anime', 'bullet bold'), ['/aggiornamento-episodi/', 'peliculas', 'newest']), (support.typo('Archivio Serie-Anime', 'bullet bold'), ['/category/serie-tv-archive/', 'peliculas']) @@ -53,7 +52,7 @@ def mainlist(item): @support.scrape def peliculas(item): support.log() - + #findhost() action = 'episodios' if item.args == 'newest': #patron = r'<span class="serieTitle" style="font-size:20px">(?P<title>.*?).[^–][\s]?<a href="(?P<url>[^"]+)"\s+target="_blank">(?P<episode>\d+x\d+-\d+|\d+x\d+) (?P<title2>.*?)[ ]?(?:|\((?P<lang>SUB ITA)\))?</a>' @@ -62,13 +61,14 @@ def peliculas(item): else: patron = r'<div class="post-thumb">.*?\s<img src="(?P<thumb>[^"]+)".*?><a href="(?P<url>[^"]+)"[^>]+>(?P<title>.+?)\s?(?: Serie Tv)?\s?\(?(?P<year>\d{4})?\)?<\/a><\/h2>' patronNext='a class="next page-numbers" href="?([^>"]+)">Avanti »</a>' - + #debug = True return locals() @support.scrape def episodios(item): support.log("episodios: %s" % item) + #findhost() action = 'findvideos' item.contentType = 'tvshow' @@ -76,7 +76,8 @@ def episodios(item): data1 = pagina(item.url) data1 = re.sub('\n|\t', ' ', data1) data = re.sub(r'>\s+<', '> <', data1) - patronBlock = r'(?P<block>STAGIONE\s\d+ (.+?)?(?:\()?(?P<lang>ITA|SUB ITA)(?:\))?.*?)</div></div>' + #patronBlock = r'(?P<block>STAGIONE\s\d+ (.+?)?(?:\()?(?P<lang>ITA|SUB ITA)(?:\))?.*?)</div></div>' + patronBlock = r'</span>(?P<block>[a-zA-Z\s]+\d+(.+?)?(?:\()?(?P<lang>ITA|SUB ITA)(?:\))?.*?)</div></div>' #patron = r'(?:\s|\Wn)?(?:<strong>|)?(?P<episode>\d+&#\d+;\d+-\d+|\d+&#\d+;\d+)(?:</strong>|)?(?P<title>.+?)(?:–|-.+?-|–.+?–|–|.)?<a (?P<url>.*?)<br />' patron = r'(?:\s|\Wn)?(?:<strong>|)?(?P<episode>\d+&#\d+;\d+-\d+|\d+&#\d+;\d+)(?:</strong>|)?(?P<title>.+?)(?:–|-.+?-|–.+?–|–|.)?(?:<a (?P<url>.*?))?<br />' @@ -91,6 +92,7 @@ def episodios(item): def pagina(url): support.log(url) + #findhost() data = httptools.downloadpage(url, headers=headers).data.replace("'", '"') #support.log("DATA ----###----> ", data) @@ -110,6 +112,7 @@ def pagina(url): # =========== def ricerca ============= def search(item, texto): support.log() + findhost() item.url = "%s/?s=%s" % (host, texto) item.contentType = 'tvshow' @@ -127,6 +130,7 @@ def search(item, texto): def newest(categoria): support.log() + findhost() itemlist = [] item = Item() item.contentType = 'tvshow' diff --git a/channels/seriehd.py b/channels/seriehd.py index 030d0c7b..a8853e8a 100644 --- a/channels/seriehd.py +++ b/channels/seriehd.py @@ -7,23 +7,19 @@ from core import scrapertoolsV2, httptools, support from core.item import Item -# impostati dinamicamente da findhost() host = '' headers = '' def findhost(): + global host, headers data= httptools.downloadpage('https://seriehd.nuovo.link/').data global host, headers host = scrapertoolsV2.find_single_match(data, r'<div class="elementor-button-wrapper"> <a href="([^"]+)"') headers = [['Referer', host]] - return host - -findhost() list_servers = ['verystream', 'openload', 'streamango', 'thevideome'] list_quality = ['1080p', '720p', '480p', '360'] - @support.menu def mainlist(item): findhost() @@ -33,33 +29,9 @@ def mainlist(item): return locals() -def search(item, texto): - support.log(texto) - - item.contentType = 'tvshow' - item.url = host + "/?s=" + texto - try: - return peliculas(item) - - # Continua la ricerca in caso di errore . - except: - import sys - for line in sys.exc_info(): - support.logger.error("%s" % line) - return [] - - -@support.scrape -def genre(item): - patronMenu = '<a href="(?P<url>[^"]+)">(?P<title>[^<]+)</a>' - blacklist = ['Serie TV','Serie TV Americane','Serie TV Italiane','altadefinizione'] - patronBlock = '<ul class="sub-menu">(?P<block>.*)</ul>' - action = 'peliculas' - return locals() - - @support.scrape def peliculas(item): + #findhost() patron = r'<h2>(?P<title>.*?)</h2>\s*<img src="(?P<thumb>[^"]+)" alt="[^"]*" />\s*<A HREF="(?P<url>[^"]+)">.*?<span class="year">(?:(?P<year>[0-9]{4}))?.*?<span class="calidad">(?:(?P<quality>[A-Z]+))?.*?</span>' patronNext=r'<span class="current">\d+</span><a rel="nofollow" class="page larger" href="([^"]+)">\d+</a>' action='episodios' @@ -68,6 +40,7 @@ def peliculas(item): @support.scrape def episodios(item): + #findhost() data ='' url = support.match(item, patronBlock=r'<iframe width=".+?" height=".+?" src="([^"]+)" allowfullscreen frameborder="0">')[1] seasons = support.match(item, r'<a href="([^"]+)">(\d+)<', r'<h3>STAGIONE</h3><ul>(.*?)</ul>', headers, url)[0] @@ -82,8 +55,35 @@ def episodios(item): action = 'findvideos' return locals() + +@support.scrape +def genre(item): + #findhost() + patronMenu = '<a href="(?P<url>[^"]+)">(?P<title>[^<]+)</a>' + blacklist = ['Serie TV','Serie TV Americane','Serie TV Italiane','altadefinizione'] + patronBlock = '<ul class="sub-menu">(?P<block>.*)</ul>' + action = 'peliculas' + return locals() + + +def search(item, texto): + support.log(texto) + findhost() + + item.contentType = 'tvshow' + item.url = host + "/?s=" + texto + try: + return peliculas(item) + # Continua la ricerca in caso di errore . + except: + import sys + for line in sys.exc_info(): + support.logger.error("%s" % line) + return [] + def newest(categoria): support.log(categoria) + findhost() itemlist = [] item = support.Item() try: diff --git a/channels/serietvonline.py b/channels/serietvonline.py index 8c090a34..c92fbe3b 100644 --- a/channels/serietvonline.py +++ b/channels/serietvonline.py @@ -28,7 +28,6 @@ def findhost(): data = httptools.downloadpage('https://serietvonline.me/').data host = scrapertoolsV2.find_single_match(data, r'<a class="pure-button pure-button-primary" title=\'serie tv online\' href="([^"]+)">') headers = [['Referer', host]] -findhost() list_servers = ['akvideo', 'wstream', 'backin', 'vidtome', 'nowvideo'] list_quality = ['default'] @@ -37,6 +36,7 @@ list_quality = ['default'] @support.menu def mainlist(item): support.log() + findhost() film = ['/ultimi-film-aggiunti/', ('Lista', ['/lista-film/', 'peliculas', 'lista']) @@ -61,6 +61,7 @@ def mainlist(item): @support.scrape def peliculas(item): support.log() + #findhost() blacklist = ['DMCA', 'Contatti', 'Attenzione NON FARTI OSCURARE', 'Lista Ccartoni Animati e Anime'] patronBlock = r'<h1>.+?</h1>(?P<block>.*?)<div class="footer_c">' @@ -86,6 +87,11 @@ def peliculas(item): ## item.action = 'episodios' ## return item + elif item.contentType == 'episode': + pagination = 35 + action = 'findvideos' + patron = r'<td><a href="(?P<url>[^"]+)"(?:[^>]+)?>\s?(?P<title>[^<]+)(?P<episode>[\d\-x]+)?(?P<title2>[^<]+)?<' + elif item.contentType == 'tvshow': # SEZIONE Serie TV- Anime - Documentari pagination = 35 @@ -94,9 +100,6 @@ def peliculas(item): patron = r'<div class="movie">[^>]+>.+?src="(?P<thumb>[^"]+)" alt="[^"]+".+?href="(?P<url>[^"]+)">[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[ ](?P<rating>\d+.\d+|\d+)<[^>]+>[^>]+><h2>(?P<title>[^"]+)</h2>[ ]?(?:<span class="year">(?P<year>\d+|\-\d+))?<' else: patron = r'(?:<td>)?<a href="(?P<url>[^"]+)"(?:[^>]+)?>\s?(?P<title>[^<]+)(?P<episode>[\d\-x]+)?(?P<title2>[^<]+)?<' - if item.args == 'update': - action = 'findvideos' - patron = r'<td><a href="(?P<url>[^"]+)"(?:[^>]+)?>\s?(?P<title>[^<]+)(?P<episode>[\d\-x]+)?(?P<title2>[^<]+)?<' else: # SEZIONE FILM @@ -129,6 +132,7 @@ def peliculas(item): @support.scrape def episodios(item): support.log() + #findhost() action = 'findvideos' patronBlock = r'<table>(?P<block>.*?)<\/table>' @@ -140,6 +144,7 @@ def episodios(item): def search(item, text): support.log("CERCA :" ,text, item) + findhost() item.url = "%s/?s=%s" % (host, text) try: @@ -154,6 +159,7 @@ def search(item, text): def newest(categoria): support.log(categoria) + findhost() itemlist = [] item = Item() @@ -162,7 +168,7 @@ def newest(categoria): item.url = host + '/ultimi-film-aggiunti/' elif categoria == 'series': item.args = 'update' - item.contentType = 'tvshow' + item.contentType = 'episode' item.url = host +'/ultimi-episodi-aggiunti/' try: item.action = 'peliculas'