diff --git a/servers/cloudvideo.py b/servers/cloudvideo.py index d664b88b..55b05a2e 100644 --- a/servers/cloudvideo.py +++ b/servers/cloudvideo.py @@ -3,8 +3,7 @@ from core import httptools from core import scrapertools -from lib import jsunpack -from platformcode import logger +from platformcode import logger, config def test_video_exists(page_url): diff --git a/servers/dailymotion.py b/servers/dailymotion.py index bcbe0d4d..fe87d24b 100644 --- a/servers/dailymotion.py +++ b/servers/dailymotion.py @@ -2,14 +2,14 @@ from core import httptools from core import scrapertools -from platformcode import logger +from platformcode import logger, config def test_video_exists(page_url): logger.info("(page_url='%s')" % page_url) response = httptools.downloadpage(page_url) if "Contenido rechazado" in response.data: - return False, "[Dailymotion] El archivo no existe o ha sido borrado" + return False, config.get_localized_string(70449) % "dailymotion" if response.code == 404: return False, config.get_localized_string(70449) % "dailymotion" return True, "" diff --git a/servers/deltabit.py b/servers/deltabit.py index 95a48d5c..534c4d37 100644 --- a/servers/deltabit.py +++ b/servers/deltabit.py @@ -4,7 +4,7 @@ import urllib import time from core import httptools from core import scrapertools -from platformcode import logger +from platformcode import logger, config from lib import jsunpack def test_video_exists(page_url): diff --git a/servers/gounlimited.py b/servers/gounlimited.py index bc240fd1..c75b3dc6 100644 --- a/servers/gounlimited.py +++ b/servers/gounlimited.py @@ -8,7 +8,7 @@ import re from core import httptools from core import scrapertools from lib import jsunpack -from platformcode import logger +from platformcode import logger, config def test_video_exists(page_url): diff --git a/servers/javwhores.py b/servers/javwhores.py index ab6980e5..3b67fcb9 100644 --- a/servers/javwhores.py +++ b/servers/javwhores.py @@ -4,11 +4,8 @@ # -------------------------------------------------------- import re from core import httptools -from core import scrapertools from platformcode import logger -from lib.kt_player import decode - def test_video_exists(page_url): response = httptools.downloadpage(page_url) diff --git a/servers/nowvideo.py b/servers/nowvideo.py index 08487c8d..46e6eea6 100644 --- a/servers/nowvideo.py +++ b/servers/nowvideo.py @@ -1,74 +1,73 @@ -# -*- coding: utf-8 -*- - -import urllib -import urlparse -from core import httptools -from core import scrapertools -from platformcode import logger#, config - -headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0']] - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data - if "Not Found" in data or "File was deleted" in data or "The file is being converted" in data or "Please try again later" in data: - return False, config.get_localized_string(70293) % "NowVideo" - elif "no longer exists" in data: - return False, config.get_localized_string(70292) % "NowVideo" - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - host = 'http://nowvideo.club' - logger.info("(nowvideo page_url='%s')" % page_url) - video_urls = [] - data = httptools.downloadpage(page_url).data - page_url_post = scrapertools.find_single_match(data, '
') - page_url_post = page_url_post.replace('..', '') - imhuman = '&imhuman=' + scrapertools.find_single_match(data, 'name="imhuman" value="([^"]+)"').replace(" ", "+") - post = urllib.urlencode({k: v for k, v in scrapertools.find_multiple_matches(data, 'name="([^"]+)" value="([^"]*)"')}) + imhuman - data = httptools.downloadpage(host + page_url_post, post=post).data - logger.info("nowvideo data page_url2 ='%s'" % data) - - headers.append(['Referer', page_url]) - post_data = scrapertools.find_single_match(data,"\s*") - if post_data != "": - from lib import jsunpack - data = jsunpack.unpack(post_data) - - block = scrapertools.find_single_match(data, 'sources:\s*\[[^\]]+\]') - if block: data = block - - media_urls = scrapertools.find_multiple_matches(data, '(http.*?\.mp4)') - _headers = urllib.urlencode(dict(headers)) - - for media_url in media_urls: - #logger.info("nowvideo data page_url2 ='%s'" % media_url) - video_urls.append([" mp4 [nowvideo] ", media_url + '|' + _headers]) - - for video_url in media_urls: - logger.info("[nowvideo.py] %s - %s" % (video_url[0], video_url[1])) - - return video_urls - - -def find_videos(data): - encontrados = set() - devuelve = [] - - patronvideos = r"nowvideo.club/(?:play|videos)?([a-z0-9A-Z]+)" - logger.info("[nowvideo.py] find_videos #" + patronvideos + "#") - matches = re.compile(patronvideos, re.DOTALL).findall(data) - - for match in matches: - titulo = "[nowvideo]" - url = 'http://nowvideo.club/%s' % match - - if url not in encontrados: - logger.info(" url=" + url) - devuelve.append([titulo, url, 'nowvideo']) - encontrados.add(url) - else: - logger.info(" url duplicada=" + url) - - return devuelve +# -*- coding: utf-8 -*- + +import urllib +from core import httptools +from core import scrapertools +from platformcode import logger, config + +headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0']] + +def test_video_exists(page_url): + logger.info("(page_url='%s')" % page_url) + data = httptools.downloadpage(page_url).data + if "Not Found" in data or "File was deleted" in data or "The file is being converted" in data or "Please try again later" in data: + return False, config.get_localized_string(70293) % "NowVideo" + elif "no longer exists" in data: + return False, config.get_localized_string(70292) % "NowVideo" + return True, "" + + +def get_video_url(page_url, premium=False, user="", password="", video_password=""): + host = 'http://nowvideo.club' + logger.info("(nowvideo page_url='%s')" % page_url) + video_urls = [] + data = httptools.downloadpage(page_url).data + page_url_post = scrapertools.find_single_match(data, '') + page_url_post = page_url_post.replace('..', '') + imhuman = '&imhuman=' + scrapertools.find_single_match(data, 'name="imhuman" value="([^"]+)"').replace(" ", "+") + post = urllib.urlencode({k: v for k, v in scrapertools.find_multiple_matches(data, 'name="([^"]+)" value="([^"]*)"')}) + imhuman + data = httptools.downloadpage(host + page_url_post, post=post).data + logger.info("nowvideo data page_url2 ='%s'" % data) + + headers.append(['Referer', page_url]) + post_data = scrapertools.find_single_match(data,"\s*") + if post_data != "": + from lib import jsunpack + data = jsunpack.unpack(post_data) + + block = scrapertools.find_single_match(data, 'sources:\s*\[[^\]]+\]') + if block: data = block + + media_urls = scrapertools.find_multiple_matches(data, '(http.*?\.mp4)') + _headers = urllib.urlencode(dict(headers)) + + for media_url in media_urls: + #logger.info("nowvideo data page_url2 ='%s'" % media_url) + video_urls.append([" mp4 [nowvideo] ", media_url + '|' + _headers]) + + for video_url in media_urls: + logger.info("[nowvideo.py] %s - %s" % (video_url[0], video_url[1])) + + return video_urls + + +def find_videos(data): + encontrados = set() + devuelve = [] + + patronvideos = r"nowvideo.club/(?:play|videos)?([a-z0-9A-Z]+)" + logger.info("[nowvideo.py] find_videos #" + patronvideos + "#") + matches = re.compile(patronvideos, re.DOTALL).findall(data) + + for match in matches: + titulo = "[nowvideo]" + url = 'http://nowvideo.club/%s' % match + + if url not in encontrados: + logger.info(" url=" + url) + devuelve.append([titulo, url, 'nowvideo']) + encontrados.add(url) + else: + logger.info(" url duplicada=" + url) + + return devuelve diff --git a/servers/turbovid.py b/servers/turbovid.py index 4d14c446..9070693c 100644 --- a/servers/turbovid.py +++ b/servers/turbovid.py @@ -4,7 +4,7 @@ import urllib import time from core import httptools from core import scrapertools -from platformcode import logger +from platformcode import logger, config def test_video_exists(page_url): diff --git a/servers/vidoza.py b/servers/vidoza.py index f9806ec5..5d82c5dc 100644 --- a/servers/vidoza.py +++ b/servers/vidoza.py @@ -3,7 +3,7 @@ from core import httptools from core import jsontools from core import scrapertools -from platformcode import logger +from platformcode import logger, config def test_video_exists(page_url):