def seriesflv_linker_servers(params): plugintools.log('[%s %s] Linker SeriesFlv %s' % (addonName, addonVersion, repr(params))) plugintools.add_item(action="",url="",title="[COLOR lightblue][B]Linker SeriesFlv"+version+"[/B][COLOR lightblue]"+sc4+"[I] *** By PalcoTV Team ***[/I]"+ec4,thumbnail=thumbnail,fanart=fanart,folder=False,isPlayable=False) url = params.get("url") title_capit = params.get("extra") data = cloudflare.request(url) bloq_cover = plugintools.find_single_match(data,'<div class="portada">(.*?)</div>') corver = plugintools.find_single_match(bloq_cover,'src="([^"]+)') bloq_server = plugintools.find_single_match(data,'<div id="enlaces">(.*?)</table>') server = plugintools.find_multiple_matches(bloq_server, '<img width="20"(.*?)</tr>') for item in server: lang = plugintools.find_single_match(item,'src="http://www.seriesflv.net/images/lang/(.*?).png"') if lang =='es': lang = sc2+'[I][ESP][/I]'+ec2 elif lang =='la': lang = sc2+'[I][LAT][/I]'+ec2 elif lang =='en': lang = sc2+'[I][ENG][/I]'+ec2 elif lang =='sub': lang= sc2+'[I][SUB][/I]'+ec2 else: lang = sc2+'[I][N/D][/I]'+ec2 server_name = plugintools.find_single_match(item,'class="e_server"><img width="16" src="([^"]+)"') server_name = server_name.split("domain=") server_name = server_name[-1] url_redir = plugintools.find_single_match(item,'<td width="84"><a href="([^"]+)"') url = getlinkflv(url_redir)#,cookie_ses) server = video_analyzer(server_name) titlefull = sc+str(title_capit)+ec+' '+str(lang)+' '+sc5+'[I]['+str(server)+'][/I]'+ec5 plugintools.addPeli(action=server,url=url,title=titlefull,thumbnail=thumbnail,fanart=fanart,folder=False,isPlayable=True)
def seriesflv_linker0(params): plugintools.log('[%s %s] Linker SeriesFlv %s' % (addonName, addonVersion, repr(params))) plugintools.add_item(action="",url="",title="[COLOR lightblue][B]Linker SeriesFlv"+version+"[/B][COLOR lightblue]"+sc4+"[I] *** By PalcoTV Team ***[/I]"+ec4,thumbnail=thumbnail,fanart=fanart,folder=False,isPlayable=False) url = params.get("url") data = cloudflare.request(url) logo = plugintools.find_single_match(data,'<img title=".*?src="([^"]+)"') if logo =="": logo = thumbnail title = plugintools.find_single_match(data,'<h1 class="off">([^<]+)</h1>').replace('\\','') votos = plugintools.find_single_match(data,'<span id="reviewCount">(.*?)<') if votos =="": votos = 'N/D' punt = plugintools.find_single_match(data,'<meta itemprop="ratingValue" content="([^"]+)"') if punt =="": punt = 'N/D' year = plugintools.find_single_match(data,'<td>Año.*?<td>(.*?)</td>') if year =="": year = 'N/D' bloq_temp =plugintools.find_single_match(data,'<div class="temporadas m1">(.*?)<div id="lista" class="color1 ma1">') n_temp = plugintools.find_multiple_matches(bloq_temp,'<a class="color1 on ma1 font2".*?">Temporada(.*?)<') n_temp = n_temp[-1].strip() if n_temp =="": n_temp = 'N/D' bloq_genr = plugintools.find_single_match(data,'<td>Géneros(.*?)</tr>') n_genr = plugintools.find_multiple_matches(bloq_genr,'href=".*?">(.*?)<') genr = seriesflv_genr(n_genr) bloq_pais = plugintools.find_single_match(data,'<td>País </td>(.*?)/td>') pais = plugintools.find_multiple_matches(bloq_pais,'<img src=".*?">(.*?)<') try: pais = pais[-1].strip() except: pais = 'N/D' sinopsis = plugintools.find_single_match(data,'<p class="color7">(.*?)</p>').replace('\"','"') if sinopsis =="": sinopsis = 'N/D' datamovie = { 'season': sc3+'[B]Temporadas Disponibles: [/B]'+ec3+sc+str(n_temp)+', '+ec, 'votes': sc3+'[B]Votos: [/B]'+ec3+sc+str(votos)+', '+ec, 'rating': sc3+'[B]Puntuación: [/B]'+ec3+sc+str(punt)+', '+ec, 'genre': sc3+'[B]Género: [/B]'+ec3+sc+str(genr)+', '+ec, 'year': sc3+'[B]Año: [/B]'+ec3+sc+str(year)+', '+ec, 'country': sc3+'[B]País: [/B]'+ec3+sc+str(pais)+'[CR]'+ec, 'sinopsis': sc3+'[B]Sinopsis: [/B]'+ec3+sc+str(sinopsis)+ec} datamovie["plot"]=datamovie["season"]+datamovie["votes"]+datamovie["rating"]+datamovie["genre"]+datamovie["year"]+datamovie["country"]+datamovie["sinopsis"] plugintools.add_item(action="",url="",title=sc5+"[B]"+title+"[/B]"+ec5,info_labels=datamovie,thumbnail=thumbnail,fanart=fanart,folder=False,isPlayable=False) patron_temp = '<a class="color1 on ma1 font2"(.*?)/a>' item_temp = re.compile(patron_temp,re.DOTALL).findall(data) for temp in item_temp: url = plugintools.find_single_match(temp,'href="([^"]+)"') name_temp = plugintools.find_single_match(temp,'.html">(.*?)<') plugintools.addPeli(action="seriesflv_linker_capit",url=url,title=sc2+name_temp+' >>'+ec2,info_labels=datamovie,thumbnail=logo,fanart=fanart,folder=True,isPlayable=False)
def seriesflv_linker_capit(params): plugintools.log('[%s %s] SeriesFlv %s' % (addonName, addonVersion, repr(params))) plugintools.add_item(action="", url="", title="[COLOR lightblue][B]SeriesFlv" + version + "[/B][COLOR lightblue]" + sc4 + "[I] [/I]" + ec4, thumbnail=thumbnail, fanart=fanart, folder=False, isPlayable=False) url = params.get("url") data = cloudflare.request(url) bloq_capit = plugintools.find_single_match( data, '<div class="serie-cont left">(.*?)</table>') title_temp = plugintools.find_single_match( bloq_capit, '<h1 class="off">(.*?)</h1>').replace('\\', '') plugintools.add_item(action="", url="", title=sc2 + '[B]' + title_temp + '[/B]' + ec2, thumbnail=thumbnail, fanart=fanart, folder=False, isPlayable=False) bloq_cover = plugintools.find_single_match( data, '<div class="portada">(.*?)</div>') corver = plugintools.find_single_match(bloq_cover, 'src="([^"]+)') capit = plugintools.find_multiple_matches(bloq_capit, '<td class="sape">(.*?)</tr>') for item in capit: title_capit = plugintools.find_single_match( item, 'class="color4".*?">(.*?)</a>').replace('\\', '') url_capit = plugintools.find_single_match( item, '<a class="color4" href="([^"]+)"') lang = plugintools.find_multiple_matches( item, 'http://www.seriesflv.net/images/lang/(.*?).png') plugintools.addPeli(action="seriesflv_linker_servers", url=url_capit, title=sc + str(title_capit) + ec, extra=str(title_capit), thumbnail=corver, fanart=fanart, folder=True, isPlayable=False)
def seriesblanco_liker2(params): plugintools.log('[%s %s] SeriesBlanco %s' % (addonName, addonVersion, repr(params))) url = params.get("url") url = 'http://seriesblanco.com' + url data = cloudflare.request(url) #referer = url #data = gethttp_referer_headers(url,referer) # onclick='window.open("http://allmyvideos.net/lh18cer7ut8r") url_final = plugintools.find_single_match(data, "onclick='window.open(.*?);'/>") url_final = url_final.replace('("', "").replace('")', "") params['url'] = url_final server_analyzer(params)
def getlinkflv(url_redir): data = cloudflare.request(url_redir) url_final = plugintools.find_single_match(data,'URL=([^"]+)"') return url_final
def seriesblanco_linker0(params): plugintools.log('[%s %s] SeriesBlanco %s' % (addonName, addonVersion, repr(params))) plugintools.add_item(action="", url="", title="[COLOR lightblue][B]SeriesBlanco" + version + "[/B][COLOR lightblue]" + sc4 + "[I] [/I]" + ec4, thumbnail=thumbnail, fanart=fanart, folder=False, isPlayable=False) url = params.get("url") #headers = {'user-agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'} #r = requests.get(url,headers=headers) #data = r.content data = cloudflare.request(url) fondo = plugintools.find_single_match( data, "<meta property='og:image' content='(.*?)'") if fondo == "": fondo = fanart logo = plugintools.find_single_match(data, "<img id='port_serie' src='([^']+)'") if logo == "": logo = thumbnail info = plugintools.find_single_match( data, "<img id='port_serie'(.*?)</tbody></table>") votos = plugintools.find_single_match(info, "color='yellow'>(.*?)<").strip() if votos == "": votos = "N/D" title_ser = plugintools.find_single_match( info, "<h4>(.*?)</h4>").decode('unicode_escape').encode('utf8').strip() if title_ser == "": title_ser = "N/D" genr = plugintools.find_single_match( info, "<font color='skyblue'>G.*?nero:</font></b>(.*?)<br>").decode( 'unicode_escape').encode('utf8').strip() if genr == "": genr = "N/D" prod_ser = plugintools.find_single_match( info, "color='skyblue'>Productora[^<]+</font></b>(.*?)<br>").decode( 'unicode_escape').encode('utf8').strip() if prod_ser == "": prod_ser = "N/D" pais_ser = plugintools.find_single_match( info, "color='skyblue'>Pa[^<]+</font></b>(.*?)<br>").decode( 'unicode_escape').encode('utf8').strip() if pais_ser == "": pais_ser = "N/D" time_ser = plugintools.find_single_match( info, "color='skyblue'>Duraci[^<]+</font></b>(.*?)<br>").decode( 'unicode_escape').encode('utf8').strip() if time_ser == "": time_ser = "N/D" temp = plugintools.find_multiple_matches( data, "<h2 style='cursor: hand; cursor: pointer;'>(.*?)</tbody></table>") n_temp = len(temp) sinopsis = plugintools.find_single_match( info, "<p>(.*?)</p>").decode('unicode_escape').encode('utf8') sinopsis = sinopsis.replace( '<div style="margin-top: 10px; height: 10px; border-top: 1px dotted #999999;"></div><Br />', ': ') sinopsis = sinopsis.replace('<br/>', '').replace('<br />', '').replace( '<br>', '').replace('<b>', '').replace('</b>', '').replace('<Br />', '').strip() if sinopsis == "": sinopsis = "N/D" datamovie = { 'season': sc3 + '[B]Temporadas Disponibles: [/B]' + ec3 + sc + str(n_temp) + ', ' + ec, 'votes': sc3 + '[B]Votos: [/B]' + ec3 + sc + str(votos) + ', ' + ec, 'genre': sc3 + '[B]Género: [/B]' + ec3 + sc + str(genr) + ', ' + ec, 'studio': sc3 + '[B]Productora: [/B]' + ec3 + sc + str(prod_ser) + ', ' + ec, 'duration': sc3 + '[B]Duración: [/B]' + ec3 + sc + str(time_ser) + '[CR]' + ec, 'sinopsis': sc3 + '[B]Sinopsis: [/B]' + ec3 + sc + str(sinopsis) + ec } datamovie["plot"] = datamovie["season"] + datamovie["votes"] + datamovie[ "genre"] + datamovie["studio"] + datamovie["duration"] + datamovie[ "sinopsis"] plugintools.add_item(action="", title=sc5 + "[B]" + title_ser + "[/B]" + ec5, url="", info_labels=datamovie, thumbnail=thumbnail, fanart=fanart, folder=False, isPlayable=False) for item in temp: title_temp = plugintools.find_single_match( item, "<u>(.*?)</u></h2>").decode('unicode_escape').encode('utf8') cap_temp = plugintools.find_multiple_matches(item, "<tr><td>(.*?)</td>") plugintools.add_item(action="", title=sc2 + '-- ' + title_temp + ' --' + ec2, url="", thumbnail=logo, info_labels=datamovie, plot=sinopsis, fanart=fondo, folder=False, isPlayable=False) for cap in cap_temp: url_cap = plugintools.find_single_match(cap, "<a href='([^']+)") url_cap = 'http://www.seriesblanco.com' + url_cap title_cap = plugintools.find_single_match(cap, "'>(.*?)</a>") plugintools.addPeli(action="seriesblanco_linker1", title=sc + title_cap + ec, url=url_cap, thumbnail=logo, info_labels=datamovie, plot=sinopsis, fanart=fondo, folder=True, isPlayable=False)
def seriesblanco_linker1(params): plugintools.log('[%s %s] SeriesBlanco %s' % (addonName, addonVersion, repr(params))) sinopsis = params.get("plot") datamovie = {} datamovie["Plot"] = sinopsis thumbnail = params.get("thumbnail") fanart = params.get("fanart") plugintools.add_item(action="", url="", title="[COLOR lightblue][B]SeriesBlanco" + version + "[/B][COLOR lightblue]" + sc4 + "[I] [/I]" + ec4, thumbnail=thumbnail, fanart=fanart, folder=False, isPlayable=False) headers = { 'Host': "seriesblanco.com", "User-Agent": 'User-Agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; es-ES; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12', "Referer": referer } url = params.get("url").replace('www.seriesblanco.com', 'seriesblanco.com') data = cloudflare.request(url) #r = requests.get(url,headers=headers) #data = r.content ###### No hay peticion Ajax ###### match_listacapis = plugintools.find_single_match( data, "<h2>Visionados Online</h2>(.*?)<h2>Descarga</h2>") ###### Si hay peticion Ajax ###### if match_listacapis == "": ###### Buscando la url y datos del envio post a la peticion ajax ###### ajax = plugintools.find_single_match(data, "function LoadGrid(.*?)success:") ajaxrequest = plugintools.find_single_match( ajax, "url : '(.*?)'.*?data : \"(.*?)\"") ###### Petición ajax ###### url_ajax = scrapertools.cache_page(referer + ajaxrequest[0], ajaxrequest[1]) custom_post = ajaxrequest[1] body, response_headers = plugintools.read_body_and_headers( referer + ajaxrequest[0], post=custom_post) #plugintools.log("data= "+data) match_listacapis = plugintools.find_single_match( body, '<h2>Visionados Online</h2>(.*?)</table>') match_capi = plugintools.find_multiple_matches( match_listacapis, '<td><div class="grid_content sno">(.*?)<tr class="') for entry in match_capi: img = plugintools.find_single_match(entry, "src='/servidores([^']+)") url_img = 'http://www.seriesblanco.com/servidores' + img url_capi = plugintools.find_single_match(entry, '<a href="([^"]+)"') #url_capi = 'http://www.seriesblanco.com'+url_capi #Puede ser seriesblanco.tv o seriesblanco.com lang_audio = plugintools.find_single_match( entry, '<img src="http://seriesblanco.tv/banderas/([^"]+)"') if lang_audio == "": lang_audio = plugintools.find_single_match( entry, '<img src="http://seriesblanco.com/banderas/([^"]+)"') if lang_audio.find("es.png") >= 0: lang_audio = "ESP" elif lang_audio.find("la.png") >= 0: lang_audio = "LAT" elif lang_audio.find("vos.png") >= 0: lang_audio = "ESP-SUB" elif lang_audio.find("vo.png") >= 0: lang_audio = "V.O." url_server = plugintools.find_single_match( entry, "<img src='/servidores/([^']+)") url_server = url_server.replace(".png", "").replace(".jpg", "") quality = plugintools.find_single_match( entry, 'src=\'/servidores/.*?<div class="grid_content sno">.*?<div class="grid_content sno"><span>(.*?)<' ) #if quality == "": quality = "undefined" server = video_analyzer(url_server) titlefull = params.get( "title" ) + sc2 + '[I] [' + lang_audio + '] [/I]' + ec2 + sc5 + '[I] [' + server + '][/I] ' + ec5 + sc + '[I]' + quality + '[/I]' + ec ############### Tiene Redirección ########################### if 'enlacen' in url_capi: plugintools.addPeli(action="seriesblanco_liker2", title=titlefull, url=url_capi, info_labels=datamovie, thumbnail=url_img, fanart=fanart, folder=False, isPlayable=True) ############################################################# else: plugintools.addPeli(action=server, title=titlefull, url=url_capi, info_labels=datamovie, thumbnail=url_img, fanart=fanart, folder=False, isPlayable=True)