Merge pull request #483 from Intel11/master

Actualizados
This commit is contained in:
Alfa
2018-11-07 11:46:13 -05:00
committed by GitHub
14 changed files with 78 additions and 946 deletions
@@ -1,43 +0,0 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "((?:diskokosmiko.mx)/[^\\s'\"]+)",
"url": "http://\\1"
}
]
},
"free": true,
"id": "diskokosmoko",
"name": "diskokosmiko",
"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/EjbfM7p.png?1",
"version": 1
}
-50
View File
@@ -1,50 +0,0 @@
# -*- coding: utf-8 -*-
from channels import kbagi
from core import httptools
from core import jsontools
from core import scrapertools
from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
domain = "diskokosmiko.mx"
logueado, error_message = diskokosmiko.login(domain)
if not logueado:
return False, error_message
data = httptools.downloadpage(page_url).data
if ("File was deleted" or "Not Found" or "File was locked by administrator") in data:
return False, "[%s] El archivo no existe o ha sido borrado" %domain
return True, ""
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url)
video_urls = []
data = httptools.downloadpage(page_url).data
host = "http://diskokosmiko.mx"
host_string = "diskokosmiko"
url = scrapertools.find_single_match(data, '<form action="([^"]+)" class="download_form"')
if url:
url = host + url
fileid = url.rsplit("f=", 1)[1]
token = scrapertools.find_single_match(data,
'<div class="download_container">.*?name="__RequestVerificationToken".*?value="([^"]+)"')
post = "fileId=%s&__RequestVerificationToken=%s" % (fileid, token)
headers = {'X-Requested-With': 'XMLHttpRequest'}
data = httptools.downloadpage(url, post, headers).data
data = jsontools.load(data)
mediaurl = data.get("DownloadUrl")
extension = data.get("Extension")
video_urls.append([".%s [%s]" % (extension, host_string), mediaurl])
for video_url in video_urls:
logger.info(" %s - %s" % (video_url[0], video_url[1]))
return video_urls
+6 -5
View File
@@ -4,7 +4,6 @@
# --------------------------------------------------------
import re
import urllib
from core import httptools
from core import scrapertools
from platformcode import logger
@@ -29,12 +28,14 @@ def get_video_url(page_url, premium = False, user = "", password = "", video_pas
headers = {'referer': page_url}
for i in range(0, 3):
data = httptools.downloadpage(page_url, headers=headers).data
data = re.sub(r'"|\n|\r|\t|&nbsp;|<br>|\s{2,}', "", data)
if '<input type=hidden' in data:
if '゚ω゚ノ' in data:
break
else:
page_url = scrapertools.find_single_match(data, "iframe src=(.*?) scrolling")
code = re.findall('<script>\s*゚ω゚(.*?)</script>', data, flags=re.DOTALL)[0]
page_url = scrapertools.find_single_match(data, '"iframe" src="([^"]+)')
if not page_url:
page_url = scrapertools.find_single_match(data, '<input type="hidden" id="link" value="([^"]+)')
data = re.sub(r'"|\n|\r|\t|&nbsp;|<br>|\s{2,}', "", data)
code = scrapertools.find_single_match(data, '(?s)<script>\s*゚ω゚(.*?)</script>').strip()
text_decode = aadecode(code)
funcion, clave = re.findall("func\.innerHTML = (\w*)\('([^']*)', ", text_decode, flags=re.DOTALL)[0]
# decodificar javascript en campos html hidden
+8 -12
View File
@@ -7,29 +7,25 @@ from platformcode import logger
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 Does not Exist" in data:
return False, "[Vidto.me] El fichero no existe o ha sido borrado"
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
# Extrae la URL
# {file:"http://188.240.220.186/drjhpzy4lqqwws4phv3twywfxej5nwmi4nhxlriivuopt2pul3o4bkge5hxa/video.mp4",label:"240p"}
code = scrapertools.find_single_match(data, 'name="code" value="([^"]+)')
hash = scrapertools.find_single_match(data, 'name="hash" value="([^"]+)')
post = "op=download1&code=%s&hash=%s&imhuman=Proceed+to+video" %(code, hash)
data1 = httptools.downloadpage("http://m.vidtome.stream/playvideo/%s" %code, post=post).data
video_urls = []
media_urls = scrapertools.find_multiple_matches(data, '\{file\s*:\s*"([^"]+)",label\s*:\s*"([^"]+)"\}')
for media_url, label in media_urls:
media_urls = scrapertools.find_multiple_matches(data1, 'file: "([^"]+)')
for media_url in media_urls:
ext = scrapertools.get_filename_from_url(media_url)[-4:]
video_urls.append(["%s (%s) [vidto.me]" % (ext, label), media_url])
video_urls.append(["%s [vidto.me]" % (ext), media_url])
video_urls.reverse()
for video_url in video_urls:
logger.info("%s - %s" % (video_url[0], video_url[1]))
logger.info("%s" % (video_url[0]))
return video_urls
+7 -6
View File
@@ -22,11 +22,12 @@ def test_video_exists(page_url):
def get_video_url(page_url, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url)
video_urls = []
data1 = httptools.downloadpage("https://xdrive.cc/geo_ip").data
_ip = scrapertools.find_single_match(data1, 'ip":"([^"]+)')
data = httptools.downloadpage(page_url).data
videourl = scrapertools.find_multiple_matches(data, "src: '([^']+).*?label: '([^']+)")
scrapertools.printMatches(videourl)
for scrapedurl, scrapedquality in videourl:
scrapedquality = scrapedquality.replace("&uarr;","")
video_urls.append([scrapedquality + " [xdrive]", scrapedurl])
video_urls.sort(key=lambda it: int(it[0].split("P ", 1)[0]))
video_id = scrapertools.find_single_match(data, '&video_id=(\d+)')
data = httptools.downloadpage("https://xdrive.cc/secure_link?ip=%s&video_id=%s" %(_ip, video_id)).data.replace("\\","")
videourl = scrapertools.find_multiple_matches(data, '"([^"]+)"')
for scrapedurl in videourl:
video_urls.append(["[xdrive]", scrapedurl])
return video_urls