Página 5 de 7
Re: problema con SerieHD.org
Publicado: 27 Abr 2016, 00:50
por costaplus
Ciao a tutti e scusate se mi intrometto volevo solo dare un contributo:
Código: Seleccionar todo
<section id="seasons">
<h3>EPISODIO</h3>
<ul>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=1">1</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=2">2</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=3">3</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=4">4</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=5">5</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=6">6</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=7">7</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=8">8</a>
</li>
<li>
<a href="serie.php?idSerie=99&idStagioni=357&episode=9">9</a>
</li>
<li class="active">
<a href="serie.php?idSerie=99&idStagioni=357&episode=10">10</a>
</li>
</ul>
L'elenco dei seasons si trovano in modo ricorsivo tra i tag <ul> e </ul> e i link sono all'interno dei tag <li><a href="serie.php?idSerie=99&idStagioni=357&episode=9">9</a></li> ad eccezzione dell'ultimo che è sempre in tutte le serie quello attivo :
Código: Seleccionar todo
<li class="active">
<a href="serie.php?idSerie=99&idStagioni=357&episode=10">10</a>
</li>
e la stessa cosa succede per le stagioni:
Código: Seleccionar todo
<li class="active" data-serie="102">
<a href="serie.php?idSerie=26&idStagioni=102">4</a>
</li>
Mi domandavo perchè non sfruttare questo aspetto per trarne vantaggio ?
esempio estraendo il segnaposto idStagione=120 è il segna posto 4 diventa:
Stagione id 120 -> 4
Stagione id 119 -> 3
Stagione id 118 -> 2
Stagione id 117 -> 1
Fine stagione -> 0
stessa cosa con gli episodi:
Episodio ID 10 -> 10
Episodio ID 9 -> 9
Episodio ID 8 -> 8
ECC .. ECC.....
e poi recuperare il filmato dall'unico input hydden..
Código: Seleccionar todo
<input id="urlEmbed" type="hidden" value="https://openload.co/embed/aOZOjRSZIws/Elementary.S04E05.Giochi.sepolti.ITA.ENG.1080p.DLMux-EGX_%281%29.mkv.mp4" data-mirror="openload" name="urlEmbed">
Potrebbe essere un'idea con un pò di matematica..... si può ottenere il risultato, creando il link a runtime:
http://hdpass.xyz/serie.php?idSerie=94& ... &episode=1
Ciao a tutti e buon lavoro.
Re: problema con SerieHD.org
Publicado: 27 Abr 2016, 19:50
por dentaku65
...qualche passetto avanti
http://pastebin.com/qjsHyHqe
adesso mi elenca tutti gli episodi dell'ultima stagione, ma il problema che in
url = "%s?idStagioni=%s&episode=%s?%s" % (url, scrapedseason, scrapedepisode, url)
la parte
&episode=%s ....
%scrapedepisode
mette sempre e solo il primo episodio dell'ultima stagione; quindi per me che non capisco un tubo di programmazione manca un ciclo for per mettere l'episodio in sequenza (come in precedenza per le seasons manca un ciclo for se le seasons sono + di una)
nel file ci sono anche i tracciamenti della funzione che và a scrivere sul log di Kodi
idee?
Re: problema con SerieHD.org
Publicado: 27 Abr 2016, 21:50
por costaplus
Ciao dentaku65,
per i cicli for la sintassi è questa, tornando al post precedente io la vedo così
Código: Seleccionar todo
ultimoseasons = 10
for seasons in range(10,0,-1): # range(inizia da , finisci a, step -1) quindi decrementa
seasons # il risultato del for...
La stessa cosa delle stagioni ....
se mi dici il punto nel tuo codice ci provo ....
Scusa invece di andare a ciclare su questo punto :
Código: Seleccionar todo
episodes_data = scrapertools.get_match(data, '<select onchange="location = this.value;">(.*?)</select>')
patron = '<option[^=]+="[^&]+&idStagioni=%s&episode=(.*?)">.*?</option>' % scrapedseason
perchè non ti fermi qui e fai questo:
<li class="active">
<a href="serie.php?idSerie=99&idStagioni=357&episode=10">10</a>
</li>
Código: Seleccionar todo
ultimoseasons = 10
for seasons in range(10,0,-1): # range(inizia da , finisci a, step -1) quindi decrementa finendo prima di 0 ovvero 1
seasons # il risultato del for...
stessa cosa per series:
<li class="active" data-serie="357">
<a href="serie.php?idSerie=99&idStagioni=357">2</a>
</li>
</ul>
Código: Seleccionar todo
ultimoseries = 2
ultimoseriesid=357
for seasons in range(2,0,-1): # range(inizia da , finisci a, step -1) quindi decrementa finendo prima di 0 ovvero 1
ultimoseriesid= ultimoseriesid-1 # il risultato del for ma stavolta è 357-1 =356
Forse sono stato impreciso sui numeri ....
Re: problema con SerieHD.org
Publicado: 27 Abr 2016, 22:42
por dentaku65
Ciao costaplus,
ma guarda che bella idea, non l'avevo notato nel tuo post precedente... in effetti dall'active si puo' decrementare, giustissimo... ad ogni modo la funzione è
def episodios(item):

Re: problema con SerieHD.org
Publicado: 27 Abr 2016, 22:47
por costaplus
Re: problema con SerieHD.org
Publicado: 27 Abr 2016, 23:53
por dentaku65
Guarda io uso in Kodi l'addon "Easy Log Viewer" che si trova nel repo di kinkins
https://www.tvaddons.ag/kodi-addons/sho ... logviewer/ poi nel codice che mi interessa metto in cima o nella funzione:
import xbmc
e poi nelle parti che voglio consultare appendo il dato al log di Kodi, esempio:
seasons = re.compile(patron, re.DOTALL).findall(seasons_data)
xbmc.log( "HHH seasons HHHHHHHHHHHHHHHHHHHHHHHHHHHH" )
xbmc.log( "%s" % seasons )
[*] credits to robalo
Poi vedo tutto tramite l'addon "Easy Log Viewer", nel caso qui sopra l'output di seasons
Spero ti sia sufficente.
ciao
den
Re: problema con SerieHD.org
Publicado: 28 Abr 2016, 04:45
por zanzibar1982
Tutto ciò è stupendo.

Re: problema con SerieHD.org
Publicado: 28 Abr 2016, 08:32
por KodiFilms2
Da niubbo.
Código: Seleccionar todo
start = data.find('</ul>')
end = data.find('<section id="seasons">', start)
data = data[start:end]
import xbmc
Ma non dovrebbe essere ?
Código: Seleccionar todo
start = data.find('</ul>')
end = data.find('<section id="series">', start)
data = data[start:end]
import xbmc
Su
Código: Seleccionar todo
seasons_data = scrapertools.get_match(data,'<select onchange="location = this.value;">(.*?)</select>')
patron = '<option[^=]+="[^&]+&idStagioni=(.*?)">(.*?)</option>'
Preleva dalla pagina quel testo che non ha un link, basandomi sulla pagina di esempio
Código: Seleccionar todo
view-source:http://hdpass.xyz/serie.php?idSerie=99?seriehd
Dovrebbe prelevare da qui
Código: Seleccionar todo
<li data-serie="356"><a href="serie.php?idSerie=99&idStagioni=356">1</a></li><li class="active" data-serie="357"><a href="serie.php?idSerie=99&idStagioni=357">2</a></li>
Sbaglio? Naturalmente sempre da niubbo
Re: problema con SerieHD.org
Publicado: 28 Abr 2016, 11:44
por KodiFilms2
Sbagliavo. Controllando i logs, vedo che le seasons vengono visualizzate. Quindi ha ragione @dentaku65 manca la funzione per mettere in ordine le seasons.
Re: problema con SerieHD.org
Publicado: 28 Abr 2016, 12:02
por robalo
Hola
Al ver que tenéis una conversación bastante animada me ha hecho pensar que a vosotros no os aparece un captcha.
Por lo visto en españa nos colocan el captcha, o eso, o sólo a mí por ser tan simpático
He usado un proxy y he conseguido hacer algo con lo que podéis trabajar. Es bastante simple y sólo nos mostrará el enlace de openload de la url final.
Espero haber entendido vuestro problema y lo siguiente os ayude coseguir vuestro objetivo
Código: Seleccionar todo
def episodios(item):
logger.info("[seriehd.py] episodios")
itemlist = []
data = anti_cloudflare( item.url )
patron = r'<iframe width=".+?" height=".+?" src="([^"]+)" allowfullscreen frameborder="0">'
url = scrapertools.find_single_match(data, patron).replace("?seriehd","")
data = scrapertools.cache_page(url).replace('\n', '').replace(' class="active"', '')
section_stagione = scrapertools.find_single_match( data, '<h3>STAGIONE</h3><ul>(.*?)</ul>' )
patron = '<li[^>]+><a href="([^"]+)">(\d)<'
seasons = re.compile(patron, re.DOTALL).findall(section_stagione)
for scrapedseason_url, scrapedseason in seasons:
season_url = urlparse.urljoin( url, scrapedseason_url )
data = scrapertools.cache_page( season_url ).replace('\n', '').replace(' class="active"', '')
section_episodio = scrapertools.find_single_match( data, '<h3>EPISODIO</h3><ul>(.*?)</ul>' )
patron = '<li><a href="([^"]+)">(\d+)<'
episodes = re.compile(patron, re.DOTALL).findall(section_episodio)
for scrapedepisode_url, scrapedepisode in episodes:
episode_url = urlparse.urljoin( url, scrapedepisode_url )
title = scrapedseason + "x" + scrapedepisode.zfill(2)
itemlist.append(
Item(channel=__channel__,
action="findvideos",
title=title,
url=episode_url,
fulltitle=item.fulltitle,
show=item.show,
thumbnail=item.thumbnail))
if config.get_library_support() and len(itemlist) != 0:
itemlist.append(
Item(channel=__channel__,
title=item.title + " (Add Serie to Library)",
url=item.url,
action="add_serie_to_library",
extra="episodios",
show=item.show))
itemlist.append(
Item(channel=item.channel,
title="Scarica tutti gli episodi della serie",
url=item.url,
action="download_all_episodes",
extra="episodios",
show=item.show))
return itemlist
def findvideos(item):
logger.info("[seriehd.py] findvideos")
itemlist = []
data = anti_cloudflare( item.url ).replace('\n', '')
patron = '<iframe id="iframeVid" width=".+?" height=".+?" src="([^"]+)" allowfullscreen=""></iframe>'
url = scrapertools.find_single_match( data, patron )
data = scrapertools.cache_page( url )
itemlist.extend(servertools.find_video_items(data=data))
for videoitem in itemlist:
videoitem.title = item.show + " " + item.title + " [" + videoitem.server + "]"
videoitem.show = item.show
videoitem.fulltitle = item.fulltitle
videoitem.thumbnail = item.thumbnail
videoitem.channel = __channel__
return itemlist