Merge pull request #420 from Intel11/master

Actualizados
This commit is contained in:
Alfa
2018-08-29 14:45:34 -05:00
committed by GitHub
21 changed files with 209 additions and 1209 deletions
@@ -1,41 +0,0 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "http://documentary.es/(\\d+[a-z0-9\\-]+)",
"url": "http://documentary.es/\\1?embed"
}
]
},
"free": true,
"id": "documentary",
"name": "documentary",
"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
}
]
}
-42
View File
@@ -1,42 +0,0 @@
# -*- coding: utf-8 -*-
from core import scrapertools
from platformcode import logger
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url)
video_urls = []
data = scrapertools.cache_page(page_url)
try:
# var videoVars = {"videoNonceVar":"94767795ce","post_id":"2835"};
videoNonceVar = scrapertools.get_match(data,
'var\s*videoVars\s*\=\s*\{"videoNonceVar"\:"([^"]+)","post_id"\:"\d+"')
post_id = scrapertools.get_match(data, 'var\s*videoVars\s*\=\s*\{"videoNonceVar"\:"[^"]+","post_id"\:"(\d+)"')
# http://documentary.es/wp-admin/admin-ajax.php?postId=2835&videoNonce=94767795ce&action=getVideo&_=1385893877929
import random
url = "http://documentary.es/wp-admin/admin-ajax.php?postId=" + post_id + "&videoNonce=" + videoNonceVar + "&action=getVideo&_=" + str(
random.randint(10000000000, 9999999999999))
data = scrapertools.cache_page(url)
# {"videoUrl":"http:\/\/www.dailymotion.com\/embed\/video\/xioggh?autoplay=1&defaultSubtitle=es"}
data = data.replace("\\", "")
except:
pass
from core import servertools
real_urls = servertools.find_video_items(data=data)
if len(real_urls) > 0:
item = real_urls[len(real_urls) - 1]
servermodule = __import__('servers.%s' % item.server, None, None, ["servers.%s" % item.server])
# exec "import " + item.server
# exec "servermodule = " + item.server
video_urls = servermodule.get_video_url(item.url)
for video_url in video_urls:
logger.info("%s - %s" % (video_url[0], video_url[1]))
return video_urls
-45
View File
@@ -1,45 +0,0 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "(fileflyer.com/view/[a-zA-Z0-9]+)",
"url": "http://www.\\1"
}
]
},
"free": true,
"id": "fileflyer",
"name": "fileflyer",
"premium": [
"realdebrid",
"alldebrid"
],
"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
}
]
}
-32
View File
@@ -1,32 +0,0 @@
# -*- coding: utf-8 -*-
from core import scrapertools
from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
# Vídeo borrado: http://www.fileflyer.com/view/fioZRBu
# Video erróneo:
data = scrapertools.cache_page(page_url)
if '<a href="/RemoveDetail.aspx">' in data:
return False, "El archivo ya no está disponible<br/>en fileflyer (ha sido borrado)"
else:
return True, ""
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url)
video_urls = []
data = scrapertools.cache_page(page_url)
location = scrapertools.get_match(data,
'<td class="dwnlbtn"[^<]+<a id="[^"]+" title="[^"]+" class="[^"]+" href="([^"]+)"')
video_urls.append([scrapertools.get_filename_from_url(location)[-4:] + " [fileflyer]", location])
for video_url in video_urls:
logger.info("%s - %s" % (video_url[0], video_url[1]))
return video_urls
-42
View File
@@ -1,42 +0,0 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "filez.tv/(?:embed/u=)?([A-z0-9]+)",
"url": "http://filez.tv/embed/u=\\1"
}
]
},
"free": true,
"id": "filez",
"name": "filez",
"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": "http://i.imgur.com/HasfjUH.png"
}
-38
View File
@@ -1,38 +0,0 @@
# -*- coding: utf-8 -*-
from core import httptools
from core import scrapertools
from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
data = httptools.downloadpage(page_url, follow_redirects=False)
if data.headers.get("location"):
return False, "[filez] El archivo ha sido eliminado o no existe"
return True, ""
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("url=" + page_url)
data = httptools.downloadpage(page_url).data
video_urls = []
media_urls = scrapertools.find_multiple_matches(data, 'file\s*:\s*"([^"]+)",\s*type\s*:\s*"([^"]+)"')
for media_url, ext in media_urls:
video_urls.append([".%s [filez]" % ext, media_url])
if not video_urls:
media_urls = scrapertools.find_multiple_matches(data, '<embed.*?src="([^"]+)"')
for media_url in media_urls:
media_url = media_url.replace("https:", "http:")
ext = httptools.downloadpage(media_url, only_headers=True).headers.get("content-disposition", "")
ext = scrapertools.find_single_match(ext, 'filename="([^"]+)"')
if ext:
ext = ext[-4:]
video_urls.append(["%s [filez]" % ext, media_url])
return video_urls
-46
View File
@@ -1,46 +0,0 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "movshare.net/(?:embed|video)/([a-z0-9]+)",
"url": "http://www.movshare.net/video/\\1"
},
{
"pattern": "movshare.net/embed.php\\?v\\=([a-z0-9]+)",
"url": "http://www.movshare.net/video/\\1"
}
]
},
"free": true,
"id": "movshare",
"name": "movshare",
"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": "server_movshare.png"
}
-49
View File
@@ -1,49 +0,0 @@
# -*- coding: utf-8 -*-
from core import scrapertools
from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
data = scrapertools.cache_page(page_url)
if "This file no longer exists on our servers" in data:
return False, "El fichero ha sido borrado de movshare"
return True, ""
# Returns an array of possible video url's from the page_url
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url)
videoid = scrapertools.get_match(page_url, "http://www.movshare.net/video/([a-z0-9]+)")
video_urls = []
# Descarga la página
headers = []
headers.append(
['User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'])
html = scrapertools.cache_page(page_url, headers=headers)
# La vuelve a descargar, como si hubieras hecho click en el botón
# html = scrapertools.cache_page(page_url , headers = headers)
filekey = scrapertools.find_single_match(html, 'flashvars.filekey="([^"]+)"')
# get stream url from api
api = 'http://www.movshare.net/api/player.api.php?key=%s&file=%s' % (filekey, videoid)
headers.append(['Referer', page_url])
html = scrapertools.cache_page(api, headers=headers)
logger.info("html=" + html)
stream_url = scrapertools.find_single_match(html, 'url=(.+?)&title')
if stream_url != "":
video_urls.append([scrapertools.get_filename_from_url(stream_url)[-4:] + " [movshare]", stream_url])
for video_url in video_urls:
logger.info("%s - %s" % (video_url[0], video_url[1]))
return video_urls
+12 -12
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
import urllib
from core import httptools
from core import scrapertools
from platformcode import logger
@@ -15,17 +17,15 @@ def test_video_exists(page_url):
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("url=" + page_url)
data = httptools.downloadpage(page_url).data
key = scrapertools.find_single_match(data, "var thief\s*=\s*'([^']+)'")
data_vt = httptools.downloadpage("http://vidup.tv/jwv/%s" % key).data
vt = scrapertools.find_single_match(data_vt, 'file\|direct\|(.*?)\|')
# Extrae la URL
video_urls = []
media_urls = scrapertools.find_multiple_matches(data, '\{"file"\:"([^"]+)","label"\:"([^"]+)"\}')
for media_url, label in media_urls:
ext = scrapertools.get_filename_from_url(media_url)[-4:]
media_url += "?direct=false&ua=1&vt=%s" % vt
video_urls.append(["%s (%s) [vidup]" % (ext, label), media_url])
for video_url in video_urls:
logger.info("%s - %s" % (video_url[0], video_url[1]))
post= {}
post = urllib.urlencode(post)
url = httptools.downloadpage(page_url, follow_redirects=False, only_headers=True).headers.get("location", "")
data = httptools.downloadpage("https://vidup.io/api/serve/video/" + scrapertools.find_single_match(url, "embed/([A-z0-9]+)"), post=post).data
bloque = scrapertools.find_single_match(data, 'qualities":\{(.*?)\}')
matches = scrapertools.find_multiple_matches(bloque, '"([^"]+)":"([^"]+)')
for res, media_url in matches:
video_urls.append(
[scrapertools.get_filename_from_url(media_url)[-4:] + " (" + res + ") [vidup.tv]", media_url])
video_urls.reverse()
return video_urls