Actualizados

- asialiveaction: Corrección por cambio de estructura.
- cinetux: Corrección para obtener enlaces.
- gnula: Corrección de estructura y thumbs.
- hdfilmologia: Corrección para obtener enlaces.
- fembed: Corrección para obtener videos.
- gvideo: Correción en patrón.
- videobb: Nuevo server
Actualización de código en algunos módulos.
This commit is contained in:
Intel1
2019-04-10 10:55:20 -05:00
parent 747ff77132
commit 027db68b38
12 changed files with 131 additions and 81 deletions
+22 -23
View File
@@ -14,7 +14,7 @@ from lib import jsunpack
from platformcode import config, logger from platformcode import config, logger
host = "http://www.asialiveaction.com" host = "https://asialiveaction.com"
IDIOMAS = {'Japones': 'Japones'} IDIOMAS = {'Japones': 'Japones'}
list_language = IDIOMAS.values() list_language = IDIOMAS.values()
@@ -26,9 +26,9 @@ def mainlist(item):
autoplay.init(item.channel, list_servers, list_quality) autoplay.init(item.channel, list_servers, list_quality)
itemlist = list() itemlist = list()
itemlist.append(Item(channel=item.channel, action="lista", title="Peliculas", itemlist.append(Item(channel=item.channel, action="lista", title="Peliculas",
url=urlparse.urljoin(host, "/category/pelicula"), type='pl', pag=1)) url=urlparse.urljoin(host, "/pelicula"), type='pl'))
itemlist.append(Item(channel=item.channel, action="lista", title="Series", itemlist.append(Item(channel=item.channel, action="lista", title="Series",
url=urlparse.urljoin(host, "/category/serie"), type='sr', pag=1)) url=urlparse.urljoin(host, "/serie"), type='sr'))
itemlist.append(Item(channel=item.channel, action="category", title="Géneros", url=host, cat='genre')) itemlist.append(Item(channel=item.channel, action="category", title="Géneros", url=host, cat='genre'))
itemlist.append(Item(channel=item.channel, action="category", title="Calidad", url=host, cat='quality')) itemlist.append(Item(channel=item.channel, action="category", title="Calidad", url=host, cat='quality'))
itemlist.append(Item(channel=item.channel, action="category", title="Orden Alfabético", url=host, cat='abc')) itemlist.append(Item(channel=item.channel, action="category", title="Orden Alfabético", url=host, cat='abc'))
@@ -58,7 +58,7 @@ def category(item):
for scrapedurl,scrapedtitle in matches: for scrapedurl,scrapedtitle in matches:
if scrapedtitle != 'Próximas Películas': if scrapedtitle != 'Próximas Películas':
if not scrapedurl.startswith("http"): scrapedurl = host + scrapedurl if not scrapedurl.startswith("http"): scrapedurl = host + scrapedurl
itemlist.append(item.clone(action=action, title=scrapedtitle, url=scrapedurl, type='cat', pag=0)) itemlist.append(item.clone(action=action, title=scrapedtitle, url=scrapedurl, type='cat'))
return itemlist return itemlist
@@ -88,7 +88,6 @@ def search(item, texto):
logger.info() logger.info()
texto = texto.replace(" ", "+") texto = texto.replace(" ", "+")
item.url = item.url + texto item.url = item.url + texto
item.pag = 0
if texto != '': if texto != '':
return lista(item) return lista(item)
@@ -119,12 +118,13 @@ def lista_a(item):
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
patron = '(?is)Num">.*?href="([^"]+)".*?' patron = '(?is)Num">.*?href="([^"]+)".*?'
patron += 'src="([^"]+)".*?>.*?' patron += 'data-src="([^"]+)".*?>.*?'
patron += '<strong>([^<]+)<.*?' patron += '<strong>([^<]+)<.*?'
patron += '<td>([^<]+)<.*?' patron += '<td>([^<]+)<.*?'
patron += 'href.*?>([^"]+)<\/a>' patron += 'href.*?>([^"]+)<\/a>'
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedyear, scrapedtype in matches: for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedyear, scrapedtype in matches:
if not scrapedthumbnail.startswith("http"): scrapedthumbnail = "https:" + scrapedthumbnail
action = "findvideos" action = "findvideos"
if "Serie" in scrapedtype: action = "episodios" if "Serie" in scrapedtype: action = "episodios"
itemlist.append(item.clone(action=action, title=scrapedtitle, contentTitle=scrapedtitle, contentSerieName=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, itemlist.append(item.clone(action=action, title=scrapedtitle, contentTitle=scrapedtitle, contentSerieName=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
@@ -140,14 +140,14 @@ def lista(item):
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data) data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron = '<article .*?">' patron = '(?is)class="TPost C">.*?href="([^"]+)".*?' #scrapedurl
patron += '<a href="([^"]+)"><.*?><figure.*?>' #scrapedurl patron += 'lazy-src="([^"]+)".*?>.*?' #scrapedthumbnail
patron += '<img.*?src="([^"]+)".*?>.*?' #scrapedthumbnail patron += 'title">([^<]+)<.*?' #scrapedtitle
patron += '<h3 class=".*?">([^"]+)<\/h3>' #scrapedtitle patron += 'year">([^<]+)<.*?' #scrapedyear
patron += '<span.*?>([^"]+)<\/span>.+?' #scrapedyear patron += 'href.*?>([^"]+)<\/a>' #scrapedtype
patron += '<a.+?>([^"]+)<\/a>' #scrapedtype
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedyear, scrapedtype in matches: for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedyear, scrapedtype in matches:
if not scrapedthumbnail.startswith("http"): scrapedthumbnail = "https:" + scrapedthumbnail
title="%s - %s" % (scrapedtitle,scrapedyear) title="%s - %s" % (scrapedtitle,scrapedyear)
new_item = Item(channel=item.channel, title=title, url=scrapedurl, thumbnail=scrapedthumbnail, new_item = Item(channel=item.channel, title=title, url=scrapedurl, thumbnail=scrapedthumbnail,
@@ -158,16 +158,12 @@ def lista(item):
else: else:
new_item.contentTitle = scrapedtitle new_item.contentTitle = scrapedtitle
new_item.action = 'findvideos' new_item.action = 'findvideos'
itemlist.append(new_item)
itemlist.append(new_item)
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
#pagination #pagination
pag = item.pag + 1 url_next_page = scrapertools.find_single_match(data, 'rel="next" href="([^"]+)"')
url_next_page = item.url+"/page/"+str(pag)+"/" if len(itemlist)>0 and url_next_page:
if len(itemlist)>19: itemlist.append(item.clone(title="Siguiente >>", url=url_next_page, action='lista'))
itemlist.append(item.clone(title="Siguiente >>", url=url_next_page, action='lista', pag=pag))
return itemlist return itemlist
@@ -189,14 +185,16 @@ def findvideos(item):
data1 = httptools.downloadpage(url, headers={"Referer":url1}).data data1 = httptools.downloadpage(url, headers={"Referer":url1}).data
url = scrapertools.find_single_match(data1, 'src: "([^"]+)"') url = scrapertools.find_single_match(data1, 'src: "([^"]+)"')
if "embed.php" not in url: if "embed.php" not in url:
itemlist.append(item.clone(action = "play", title = "Ver en %s (" + language + ")", language = language, url = url)) if url:
itemlist.append(item.clone(action = "play", title = "Ver en %s (" + language + ")", language = language, url = url))
continue continue
data1 = httptools.downloadpage(url).data data1 = httptools.downloadpage(url).data
packed = scrapertools.find_single_match(data1, "(?is)eval\(function\(p,a,c,k,e.*?</script>") packed = scrapertools.find_single_match(data1, "(?is)eval\(function\(p,a,c,k,e.*?</script>")
unpack = jsunpack.unpack(packed) unpack = jsunpack.unpack(packed)
urls = scrapertools.find_multiple_matches(unpack, '"file":"([^"]+).*?label":"([^"]+)') urls = scrapertools.find_multiple_matches(unpack, '"file":"([^"]+).*?label":"([^"]+)')
for url2, quality in urls: for url2, quality in urls:
itemlist.append(item.clone(action = "play", title = "Ver en %s (" + quality + ") (" + language + ")", language = language, url = url2)) if url2:
itemlist.append(item.clone(action = "play", title = "Ver en %s (" + quality + ") (" + language + ")", language = language, url = url2))
# Segundo grupo de enlaces # Segundo grupo de enlaces
matches = scrapertools.find_multiple_matches(data, '<span><a rel="nofollow" target="_blank" href="([^"]+)"') matches = scrapertools.find_multiple_matches(data, '<span><a rel="nofollow" target="_blank" href="([^"]+)"')
for url in matches: for url in matches:
@@ -212,7 +210,8 @@ def findvideos(item):
language = "Sub. Español" language = "Sub. Español"
matches2 = scrapertools.find_multiple_matches(ser, 'href="([^"]+)') matches2 = scrapertools.find_multiple_matches(ser, 'href="([^"]+)')
for url2 in matches2: for url2 in matches2:
itemlist.append(item.clone(action = "play", title = "Ver en %s (" + quality + ") (" + language + ")", language = language, url = url2)) if url2:
itemlist.append(item.clone(action = "play", title = "Ver en %s (" + quality + ") (" + language + ")", language = language, url = url2))
itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
# Requerido para FilterTools # Requerido para FilterTools
itemlist = filtertools.get_links(itemlist, item, list_language) itemlist = filtertools.get_links(itemlist, item, list_language)
+5 -2
View File
@@ -242,7 +242,7 @@ def findvideos(item):
else: else:
title = '' title = ''
url = scrapertools.find_single_match(new_data, "src='([^']+)'") url = scrapertools.find_single_match(new_data, "src='([^']+)'")
url = get_url(url.replace('\\/', '/')) url = get_url(url)
if url: if url:
itemlist.append(item.clone(title ='%s'+title, url=url, action='play', itemlist.append(item.clone(title ='%s'+title, url=url, action='play',
language=IDIOMAS[language], text_color = "")) language=IDIOMAS[language], text_color = ""))
@@ -255,7 +255,7 @@ def findvideos(item):
title = '' title = ''
new_data = httptools.downloadpage(hidden_url).data new_data = httptools.downloadpage(hidden_url).data
url = scrapertools.find_single_match(new_data, 'id="link" href="([^"]+)"') url = scrapertools.find_single_match(new_data, 'id="link" href="([^"]+)"')
url = get_url(url.replace('\\/', '/')) url = get_url(url)
if url: if url:
itemlist.append(Item(channel=item.channel, title='%s'+title, url=url, action='play', quality=quality, itemlist.append(Item(channel=item.channel, title='%s'+title, url=url, action='play', quality=quality,
language=IDIOMAS[language], infoLabels=item.infoLabels, text_color = "")) language=IDIOMAS[language], infoLabels=item.infoLabels, text_color = ""))
@@ -280,6 +280,7 @@ def findvideos(item):
def get_url(url): def get_url(url):
logger.info() logger.info()
url = url.replace('\\/', '/')
if "cinetux.me" in url: if "cinetux.me" in url:
d1 = httptools.downloadpage(url).data d1 = httptools.downloadpage(url).data
if "mail" in url or "drive" in url or "ok.cinetux" in url or "mp4/" in url: if "mail" in url or "drive" in url or "ok.cinetux" in url or "mp4/" in url:
@@ -288,6 +289,8 @@ def get_url(url):
url = scrapertools.find_single_match(d1, '<iframe src="([^"]+)') + id url = scrapertools.find_single_match(d1, '<iframe src="([^"]+)') + id
if "drive" in url: if "drive" in url:
url += "/preview" url += "/preview"
if "FFFFFF" in url:
url = scrapertools.find_single_match(d1, 'class="cta" href="([^"]+)"')
else: else:
url = scrapertools.find_single_match(d1, 'document.location.replace\("([^"]+)') url = scrapertools.find_single_match(d1, 'document.location.replace\("([^"]+)')
url = url.replace("povwideo","powvideo") url = url.replace("povwideo","powvideo")
+21 -18
View File
@@ -3,6 +3,7 @@
from core import httptools from core import httptools
from core import scrapertools from core import scrapertools
from core import servertools from core import servertools
from core import tmdb
from core.item import Item from core.item import Item
from platformcode import config, logger from platformcode import config, logger
from channelselector import get_thumb from channelselector import get_thumb
@@ -68,6 +69,7 @@ def sub_search(item):
if "ver-" not in scrapedurl: if "ver-" not in scrapedurl:
continue continue
year = scrapertools.find_single_match(scrapedtitle, "\d{4}") year = scrapertools.find_single_match(scrapedtitle, "\d{4}")
contentTitle = scrapedtitle.replace(scrapertools.find_single_match('\[.+', scrapedtitle),"")
contentTitle = scrapedtitle.replace("(%s)" %year,"").replace("Ver","").strip() contentTitle = scrapedtitle.replace("(%s)" %year,"").replace("Ver","").strip()
itemlist.append(Item(action = "findvideos", itemlist.append(Item(action = "findvideos",
channel = item.channel, channel = item.channel,
@@ -77,6 +79,7 @@ def sub_search(item):
thumbnail = scrapedthumbnail, thumbnail = scrapedthumbnail,
url = scrapedurl, url = scrapedurl,
)) ))
tmdb.set_infoLabels_itemlist(itemlist, True)
return itemlist return itemlist
@@ -89,11 +92,11 @@ def generos(item):
matches = scrapertools.find_multiple_matches(data, patron) matches = scrapertools.find_multiple_matches(data, patron)
for genero, scrapedurl in matches: for genero, scrapedurl in matches:
title = scrapertools.htmlclean(genero) title = scrapertools.htmlclean(genero)
url = item.url + scrapedurl if not item.url.startswith("http"): scrapedurl = item.url + scrapedurl
itemlist.append(Item(channel = item.channel, itemlist.append(Item(channel = item.channel,
action = 'peliculas', action = 'peliculas',
title = title, title = title,
url = url, url = scrapedurl,
viewmode = "movie", viewmode = "movie",
first=0)) first=0))
itemlist = sorted(itemlist, key=lambda item: item.title) itemlist = sorted(itemlist, key=lambda item: item.title)
@@ -124,19 +127,21 @@ def peliculas(item):
title = scrapedtitle + " " + plot title = scrapedtitle + " " + plot
if not scrapedurl.startswith("http"): if not scrapedurl.startswith("http"):
scrapedurl = item.url + scrapedurl scrapedurl = item.url + scrapedurl
itemlist.append(Item(channel = item.channel, year = scrapertools.find_single_match(scrapedurl, "\-(\d{4})\-")
action = 'findvideos', contentTitle = scrapedtitle.replace(scrapertools.find_single_match('\[.+', scrapedtitle),"")
title = title, itemlist.append(Item(action = 'findvideos',
url = scrapedurl, channel = item.channel,
thumbnail = scrapedthumbnail,
plot = plot,
contentTitle = scrapedtitle, contentTitle = scrapedtitle,
contentType = "movie", infoLabels = {"year":year},
language=language, language=language,
quality=quality plot = plot,
quality=quality,
title = title,
thumbnail = scrapedthumbnail,
url = scrapedurl
)) ))
tmdb.set_infoLabels_itemlist(itemlist, True)
#paginacion #paginacion
url_next_page = item.url url_next_page = item.url
first = last first = last
if next: if next:
@@ -149,9 +154,9 @@ def findvideos(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
item.plot = scrapertools.find_single_match(data, '<div class="entry">(.*?)<div class="iframes">') #item.plot = scrapertools.find_single_match(data, '<div class="entry">(.*?)<div class="iframes">')
item.plot = scrapertools.htmlclean(item.plot).strip() #item.plot = scrapertools.htmlclean(item.plot).strip()
item.contentPlot = item.plot #item.contentPlot = item.plot
patron = '<strong>Ver película online.*?>.*?>([^<]+)' patron = '<strong>Ver película online.*?>.*?>([^<]+)'
scrapedopcion = scrapertools.find_single_match(data, patron) scrapedopcion = scrapertools.find_single_match(data, patron)
titulo_opcional = scrapertools.find_single_match(scrapedopcion, ".*?, (.*)").upper() titulo_opcional = scrapertools.find_single_match(scrapedopcion, ".*?, (.*)").upper()
@@ -167,14 +172,12 @@ def findvideos(item):
urls = scrapertools.find_multiple_matches(datos, '(?:src|href)="([^"]+)') urls = scrapertools.find_multiple_matches(datos, '(?:src|href)="([^"]+)')
titulo = "Ver en %s " + titulo_opcion titulo = "Ver en %s " + titulo_opcion
for url in urls: for url in urls:
itemlist.append(Item(channel = item.channel, itemlist.append(item.clone(action = "play",
action = "play",
contentThumbnail = item.thumbnail,
fulltitle = item.contentTitle,
title = titulo, title = titulo,
url = url url = url
)) ))
itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
#tmdb.set_infoLabels_itemlist(itemlist, True)
if itemlist: if itemlist:
if config.get_videolibrary_support(): if config.get_videolibrary_support():
itemlist.append(Item(channel = item.channel, action = "")) itemlist.append(Item(channel = item.channel, action = ""))
+1 -1
View File
@@ -5,7 +5,7 @@
"adult": false, "adult": false,
"language": ["cast", "lat", "vose"], "language": ["cast", "lat", "vose"],
"fanart": "https://i.postimg.cc/qvFCZNKT/Alpha-652355392-large.jpg", "fanart": "https://i.postimg.cc/qvFCZNKT/Alpha-652355392-large.jpg",
"thumbnail": "https://hdfilmologia.com/templates/gorstyle/images/logo.png", "thumbnail": "https://hdfilmologia.com/templates/hdfilmologia/images/logo.png",
"banner": "", "banner": "",
"categories": [ "categories": [
"movie", "movie",
+6 -7
View File
@@ -179,7 +179,7 @@ def genres(item):
logger.info() logger.info()
itemlist = [] itemlist = []
data = httptools.downloadpage(item.url).data data = scrapertools.downloadpage(item.url)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data) data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron = '<li class="myli"><a href="/([^"]+)">([^<]+)</a>' patron = '<li class="myli"><a href="/([^"]+)">([^<]+)</a>'
@@ -221,12 +221,11 @@ def findvideos(item):
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|amp;|#038;|\(.*?\)|\s{2}|&nbsp;", "", data) data = re.sub(r"\n|\r|\t|amp;|#038;|\(.*?\)|\s{2}|&nbsp;", "", data)
patron = '>([^<]+)</a></li><li><a class="src_tab" id="[^"]+" data-src="([^"]+)"'
patron = '(\w+)src\d+="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data) matches = re.compile(patron, re.DOTALL).findall(data)
for lang, url in matches: for lang, url in matches:
lang = re.sub(r"1|2|3|4", "", lang)
server = servertools.get_server_from_url(url) server = servertools.get_server_from_url(url)
if 'dropbox' in url: if 'dropbox' in url:
server = 'dropbox' server = 'dropbox'
@@ -243,9 +242,9 @@ def findvideos(item):
for key in matches: for key in matches:
url = 'https://www.dropbox.com/s/%s?dl=1' % (key) url = 'https://www.dropbox.com/s/%s?dl=1' % (key)
server = 'dropbox' server = 'dropbox'
languages = {'l': '[COLOR cornflowerblue](LAT)[/COLOR]', languages = {'Latino': '[COLOR cornflowerblue](LAT)[/COLOR]',
'e': '[COLOR green](CAST)[/COLOR]', 'Castellano': '[COLOR green](CAST)[/COLOR]',
's': '[COLOR red](VOS)[/COLOR]'} 'Subtitulado': '[COLOR red](VOS)[/COLOR]'}
if lang in languages: if lang in languages:
lang = languages[lang] lang = languages[lang]
-24
View File
@@ -10,25 +10,6 @@ from core import httptools
from platformcode import logger from platformcode import logger
def downloadpage(url, post=None, headers=None, follow_redirects=True, timeout=None, header_to_get=None):
response = httptools.downloadpage(url, post=post, headers=headers, follow_redirects=follow_redirects,
timeout=timeout)
if header_to_get:
return response.headers.get(header_to_get)
else:
return response.data
def downloadpageGzip(url):
response = httptools.downloadpage(url, add_referer=True)
return response.data
def getLocationHeaderFromResponse(url):
response = httptools.downloadpage(url, only_headers=True)
return response.headers.get("location")
def get_header_from_response(url, header_to_get="", post=None, headers=None): def get_header_from_response(url, header_to_get="", post=None, headers=None):
header_to_get = header_to_get.lower() header_to_get = header_to_get.lower()
response = httptools.downloadpage(url, post=post, headers=headers, only_headers=True) response = httptools.downloadpage(url, post=post, headers=headers, only_headers=True)
@@ -48,11 +29,6 @@ def printMatches(matches):
i = i + 1 i = i + 1
def get_match(data, patron, index=0):
matches = re.findall(patron, data, flags=re.DOTALL)
return matches[index]
def find_single_match(data, patron, index=0): def find_single_match(data, patron, index=0):
try: try:
matches = re.findall(patron, data, flags=re.DOTALL) matches = re.findall(patron, data, flags=re.DOTALL)
-4
View File
@@ -18,10 +18,6 @@ def printMatches(matches):
i = i + 1 i = i + 1
def get_match(data, patron, index=0):
return find_single_match(data, patron, index=0)
def find_single_match(data, patron, index=0): def find_single_match(data, patron, index=0):
try: try:
matches = re.findall(patron, data, flags=re.DOTALL) matches = re.findall(patron, data, flags=re.DOTALL)
+1 -1
View File
@@ -4,7 +4,7 @@
"ignore_urls": [], "ignore_urls": [],
"patterns": [ "patterns": [
{ {
"pattern": "((?:fembed|divload).com/v/[A-z0-9_-]+)", "pattern": "((?:fembed|divload).com/(?:f|v)/[A-z0-9_-]+)",
"url": "https://www.\\1" "url": "https://www.\\1"
} }
] ]
+1
View File
@@ -16,6 +16,7 @@ def test_video_exists(page_url):
def get_video_url(page_url, user="", password="", video_password=""): def get_video_url(page_url, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url) logger.info("(page_url='%s')" % page_url)
video_urls = [] video_urls = []
page_url = page_url.replace("/f/","/v/")
page_url = page_url.replace("/v/","/api/source/") page_url = page_url.replace("/v/","/api/source/")
data = httptools.downloadpage(page_url, post={}).data data = httptools.downloadpage(page_url, post={}).data
data = jsontools.load(data) data = jsontools.load(data)
+1 -1
View File
@@ -16,7 +16,7 @@
"url": "http://docs.google.com/get_video_info?docid=\\1" "url": "http://docs.google.com/get_video_info?docid=\\1"
}, },
{ {
"pattern": "(?s)https://(?:docs|drive).google.com/file/d/([^/]+)/(?:preview|edit)", "pattern": "(?s)(?:https|http)://(?:docs|drive).google.com/file/d/([^/]+)/(?:preview|edit|view)",
"url": "http://docs.google.com/get_video_info?docid=\\1" "url": "http://docs.google.com/get_video_info?docid=\\1"
}, },
{ {
+42
View File
@@ -0,0 +1,42 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "videobb.ru/v/([A-z0-9]+)",
"url": "https://videobb.ru/api/source/\\1"
}
]
},
"free": true,
"id": "videobb",
"name": "videobb",
"settings": [
{
"default": false,
"enabled": true,
"id": "black_list",
"label": "@60654",
"type": "bool",
"visible": true
},
{
"default": 0,
"enabled": true,
"id": "favorites_servers_list",
"label": "@60655",
"lvalues": [
"No",
"1",
"2",
"3",
"4",
"5"
],
"type": "list",
"visible": false
}
],
"thumbnail": "https://www.cinetux.to/videobb/logo.jpg"
}
+31
View File
@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# --------------------------------------------------------
# Conector videobb By Alfa development Group
# --------------------------------------------------------
from core import httptools
from core import scrapertools
from core import jsontools
from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
data = httptools.downloadpage(page_url).data
if "no longer exists" in data:
return False, "[videobb] El video ha sido borrado"
return True, ""
def get_video_url(page_url, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url)
video_urls = []
id = scrapertools.find_single_match("v/(\w+)", page_url)
post = "r=&d=videobb.ru"
data = httptools.downloadpage(page_url, post=post).data
data = jsontools.load(data)["data"]
for url in data:
video_urls.append([url["label"] + "p [videobb]", url["file"]])
logger.info("Intel11 %s" %data)
return video_urls