Actualizados
- allcalidad: Cambio de dominio - animeflv: Correción - streamcloud - Actualización interna
This commit is contained in:
@@ -4,6 +4,7 @@ import time
|
||||
import urllib
|
||||
|
||||
from core import jsontools
|
||||
from core import httptools
|
||||
from core import scrapertools
|
||||
from platformcode import config, logger
|
||||
from platformcode import platformtools
|
||||
@@ -28,7 +29,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
post_link = urllib.urlencode([("link", page_url), ("password", video_password)])
|
||||
headers["Authorization"] = "Bearer %s" % token_auth
|
||||
url = "https://api.real-debrid.com/rest/1.0/unrestrict/link"
|
||||
data = scrapertools.downloadpage(url, post=post_link, headers=headers.items())
|
||||
data = httptools.downloadpage(url, post=post_link, headers=headers.items()).data
|
||||
data = jsontools.load(data)
|
||||
|
||||
# Si el token es erróneo o ha caducado, se solicita uno nuevo
|
||||
@@ -39,14 +40,14 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
|
||||
post_token = urllib.urlencode({"client_id": debrid_id, "client_secret": secret, "code": refresh,
|
||||
"grant_type": "http://oauth.net/grant_type/device/1.0"})
|
||||
renew_token = scrapertools.downloadpage("https://api.real-debrid.com/oauth/v2/token", post=post_token,
|
||||
headers=headers.items())
|
||||
renew_token = httptools.downloadpage("https://api.real-debrid.com/oauth/v2/token", post=post_token,
|
||||
headers=headers.items()).data
|
||||
renew_token = jsontools.load(renew_token)
|
||||
if not "error" in renew_token:
|
||||
token_auth = renew_token["access_token"]
|
||||
config.set_setting("token", token_auth, server="realdebrid")
|
||||
headers["Authorization"] = "Bearer %s" % token_auth
|
||||
data = scrapertools.downloadpage(url, post=post_link, headers=headers.items())
|
||||
data = httptools.downloadpage(url, post=post_link, headers=headers.items()).data
|
||||
data = jsontools.load(data)
|
||||
|
||||
if "download" in data:
|
||||
@@ -87,7 +88,7 @@ def authentication():
|
||||
|
||||
# Se solicita url y código de verificación para conceder permiso a la app
|
||||
url = "http://api.real-debrid.com/oauth/v2/device/code?client_id=%s&new_credentials=yes" % (client_id)
|
||||
data = scrapertools.downloadpage(url, headers=headers.items())
|
||||
data = httptools.downloadpage(url, headers=headers.items()).data
|
||||
data = jsontools.load(data)
|
||||
verify_url = data["verification_url"]
|
||||
user_code = data["user_code"]
|
||||
@@ -108,7 +109,7 @@ def authentication():
|
||||
|
||||
url = "https://api.real-debrid.com/oauth/v2/device/credentials?client_id=%s&code=%s" \
|
||||
% (client_id, device_code)
|
||||
data = scrapertools.downloadpage(url, headers=headers.items())
|
||||
data = httptools.downloadpage(url, headers=headers.items()).data
|
||||
data = jsontools.load(data)
|
||||
if "client_secret" in data:
|
||||
# Código introducido, salimos del bucle
|
||||
@@ -127,8 +128,8 @@ def authentication():
|
||||
# Se solicita el token de acceso y el de actualización para cuando el primero caduque
|
||||
post = urllib.urlencode({"client_id": debrid_id, "client_secret": secret, "code": device_code,
|
||||
"grant_type": "http://oauth.net/grant_type/device/1.0"})
|
||||
data = scrapertools.downloadpage("https://api.real-debrid.com/oauth/v2/token", post=post,
|
||||
headers=headers.items())
|
||||
data = htttools.downloadpage("https://api.real-debrid.com/oauth/v2/token", post=post,
|
||||
headers=headers.items()).data
|
||||
data = jsontools.load(data)
|
||||
|
||||
token = data["access_token"]
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
from base64 import b64decode
|
||||
|
||||
from core import httptools
|
||||
from core import scrapertools
|
||||
from platformcode import logger
|
||||
|
||||
@@ -9,7 +10,7 @@ from platformcode import logger
|
||||
def get_long_url(short_url):
|
||||
logger.info("short_url = '%s'" % short_url)
|
||||
|
||||
data = scrapertools.downloadpage(short_url)
|
||||
data = httptools.downloadpage(short_url).data
|
||||
ysmm = scrapertools.find_single_match(data, "var ysmm = '([^']+)';")
|
||||
b64 = ""
|
||||
for i in reversed(range(len(ysmm))):
|
||||
@@ -21,7 +22,7 @@ def get_long_url(short_url):
|
||||
decoded_uri = b64decode(b64)[2:]
|
||||
|
||||
if "adf.ly/redirecting" in decoded_uri:
|
||||
data = scrapertools.downloadpage(decoded_uri)
|
||||
data = httptools.downloadpage(decoded_uri).data
|
||||
decoded_uri = scrapertools.find_single_match(data, "window.location = '([^']+)'")
|
||||
|
||||
return decoded_uri
|
||||
|
||||
@@ -25,15 +25,15 @@ def get_long_url(short_url):
|
||||
for name, value in response_headers:
|
||||
if name == "set-cookie":
|
||||
logger.info("Set-Cookie: " + value)
|
||||
cookie_name = scrapertools.get_match(value, '(.*?)\=.*?\;')
|
||||
cookie_value = scrapertools.get_match(value, '.*?\=(.*?)\;')
|
||||
cookie_name = scrapertools.scrapertools.find_single_match(value, '(.*?)\=.*?\;')
|
||||
cookie_value = scrapertools.scrapertools.find_single_match(value, '.*?\=(.*?)\;')
|
||||
request_headers.append(["Cookie", cookie_name + "=" + cookie_value])
|
||||
|
||||
body, response_headers = scrapertools.read_body_and_headers(url, headers=request_headers)
|
||||
logger.info("body=" + body)
|
||||
|
||||
try:
|
||||
location = scrapertools.get_match(body, '<textarea.*?class="caja_des">([^<]+)</textarea>')
|
||||
location = scrapertools.scrapertools.find_single_match(body, '<textarea.*?class="caja_des">([^<]+)</textarea>')
|
||||
logger.info("location=" + location)
|
||||
break
|
||||
except:
|
||||
|
||||
@@ -3,15 +3,16 @@
|
||||
import re
|
||||
import urllib
|
||||
|
||||
from core import httptools
|
||||
from core import scrapertools
|
||||
from platformcode import logger
|
||||
|
||||
|
||||
def get_server_list():
|
||||
servers = []
|
||||
data = scrapertools.downloadpage("http://longurl.org/services")
|
||||
data = httptools.downloadpage("http://longurl.org/services").data
|
||||
data = scrapertools.unescape(data)
|
||||
data = scrapertools.get_match(data, '<ol>(.*?)</ol>')
|
||||
data = scrapertools.find_single_match(data, '<ol>(.*?)</ol>')
|
||||
patron = '<li>(.*?)</li>'
|
||||
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||
|
||||
@@ -33,11 +34,11 @@ def get_long_urls(data):
|
||||
for short_url in matches:
|
||||
if short_url.startswith(tuple(servers)):
|
||||
logger.info(": " + short_url)
|
||||
longurl_data = scrapertools.downloadpage(
|
||||
"http://api.longurl.org/v2/expand?url=" + urllib.quote_plus(short_url))
|
||||
longurl_data = httptools.downloadpage(
|
||||
"http://api.longurl.org/v2/expand?url=" + urllib.quote_plus(short_url)).data
|
||||
logger.info(longurl_data)
|
||||
try:
|
||||
long_url = scrapertools.get_match(longurl_data, '<long-url><!\[CDATA\[(.*?)\]\]></long-url>')
|
||||
long_url = scrapertools.scrapertools.find_single_match(longurl_data, '<long-url><!\[CDATA\[(.*?)\]\]></long-url>')
|
||||
except:
|
||||
long_url = ""
|
||||
if (long_url <> ""): data = data.replace(short_url, long_url)
|
||||
|
||||
@@ -24,9 +24,10 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
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']]
|
||||
data = httptools.downloadpage(page_url, headers=headers).data
|
||||
try:
|
||||
media_url = scrapertools.find_single_match(data, 'file\: "([^"]+)"')
|
||||
except:
|
||||
|
||||
media_url = scrapertools.find_single_match(data, 'file\: "([^"]+)"')
|
||||
|
||||
if len(media_url) == 0:
|
||||
post = ""
|
||||
matches = scrapertools.find_multiple_matches(data, '<input.*?name="([^"]+)".*?value="([^"]*)">')
|
||||
for inputname, inputvalue in matches:
|
||||
|
||||
@@ -51,23 +51,6 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
# Set-Cookie3: auth=3315964ab4fac585fdd9d4228dc70264a1756ba; path="/"; domain=".uploaded.to"; path_spec; domain_dot; expires="2015-02-25 18:35:37Z"; version=0
|
||||
# Set-Cookie3: login="%26id%3D3315964%26pw%3Dde135af0befa087e897ee6bfa78f2511a1ed093f%26cks%3D854cca559368"; path="/"; domain=".uploaded.to"; path_spec; domain_dot; expires="2013-02-25 18:35:37Z"; version=0
|
||||
|
||||
'''
|
||||
#cookie_data=config.get_cookie_data()
|
||||
#logger.info("cookie_data="+cookie_data)
|
||||
cookie_data = setcookie
|
||||
auth = scrapertools.get_match( cookie_data , 'auth=([a-z0-9]+)' )
|
||||
logger.info("auth="+auth)
|
||||
#%26id%3D7308170%26pw%3Df14c8daa489647d758a88474f509cd4277980f6b%26cks%3D204cffc6c96f
|
||||
login = scrapertools.get_match( cookie_data , 'login=([a-zA-Z0-9\%]+)' )
|
||||
logger.info("login="+login)
|
||||
|
||||
headers.append([ "Cookie", 'login='+login+'; auth='+auth])
|
||||
temp_location = scrapertools.get_header_from_response( location , header_to_get = "location" , headers=headers)
|
||||
logger.info("temp_location="+temp_location)
|
||||
|
||||
#location = location + "|Cookie="+urllib.quote('login='+login+'; auth='+auth)
|
||||
location = temp_location '''
|
||||
|
||||
logger.info("-------------------------------------------")
|
||||
logger.info("obtiene el nombre del fichero")
|
||||
logger.info("-------------------------------------------")
|
||||
@@ -77,7 +60,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
only_headers=True).headers.get("content-disposition", "")
|
||||
logger.info("content_disposition=" + repr(content_disposition))
|
||||
if content_disposition != "":
|
||||
filename = scrapertools.get_match(content_disposition, 'filename="([^"]+)"')
|
||||
filename = scrapertools.find_single_match(content_disposition, 'filename="([^"]+)"')
|
||||
extension = filename[-4:]
|
||||
else:
|
||||
extension = ""
|
||||
@@ -87,13 +70,6 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
logger.error(traceback.format_exc())
|
||||
extension = ""
|
||||
|
||||
'''
|
||||
temp_location = scrapertools.get_header_from_response( location , header_to_get = "location" , headers=headers)
|
||||
logger.info("temp_location="+temp_location)
|
||||
if temp_location!="":
|
||||
location = temp_location
|
||||
'''
|
||||
|
||||
video_urls.append([extension + " (Premium) [uploaded.to]", location])
|
||||
|
||||
for video_url in video_urls:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from core import httptools
|
||||
from core import scrapertools
|
||||
from platformcode import logger
|
||||
|
||||
@@ -7,7 +8,7 @@ from platformcode import logger
|
||||
def get_video_url(page_url, video_password):
|
||||
logger.info("(page_url='%s')" % page_url)
|
||||
video_urls = []
|
||||
video_id = scrapertools.get_match(page_url, ".*?video([0-9]+)")
|
||||
video_id = scrapertools.find_single_match(page_url, ".*?video([0-9]+)")
|
||||
url = "http://flashservice.xvideos.com/flashservices/gateway.php"
|
||||
post = "0003000000010011".decode("hex") + "flashRpc.getVideo" + "0002".decode(
|
||||
"hex") + "/1" + "000000190A00000004020008".decode("hex") + video_id + "020000020000020000".decode("hex")
|
||||
@@ -15,14 +16,14 @@ def get_video_url(page_url, video_password):
|
||||
headers.append(["Content-type", "application/x-amf"])
|
||||
headers.append(["Content-length", str(len(post))])
|
||||
|
||||
data = scrapertools.downloadpage(url, post=post, headers=headers)
|
||||
data = httptools.downloadpage(url, post=post, headers=headers).data
|
||||
try:
|
||||
media_url = scrapertools.get_match(data, "(http\://[0-9a-z/_\.]+\.flv\?[0-9a-z&=]+)")
|
||||
media_url = scrapertools.find_single_match(data, "(http\://[0-9a-z/_\.]+\.flv\?[0-9a-z&=]+)")
|
||||
except:
|
||||
post = "0003000000010011".decode("hex") + "flashRpc.getVideo" + "0002".decode(
|
||||
"hex") + "/1" + "000000180a00000004020007".decode("hex") + video_id + "020000020000020000".decode("hex")
|
||||
data = scrapertools.downloadpage(url, post=post, headers=headers)
|
||||
media_url = scrapertools.get_match(data, "(http\://[0-9a-z/_\.]+\.flv\?[0-9a-z&=]+)")
|
||||
data = httptools.downloadpage(url, post=post, headers=headers).data
|
||||
media_url = scrapertools.find_single_match(data, "(http\://[0-9a-z/_\.]+\.flv\?[0-9a-z&=]+)")
|
||||
|
||||
logger.info("(media_url='%s')" % media_url)
|
||||
video_urls.append([scrapertools.get_filename_from_url(media_url)[-4:] + " [xvideos]", media_url])
|
||||
|
||||
@@ -26,7 +26,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
url_redirect = scrapertools.find_single_match(data, '<iframe src="([^"]+)"')
|
||||
data = httptools.downloadpage(url_redirect).data
|
||||
|
||||
url = scrapertools.get_match(data, '{file:"([^"]+)"')
|
||||
url = scrapertools.find_single_match(data, '{file:"([^"]+)"')
|
||||
video_url = "%s|Referer=%s" % (url, url_redirect)
|
||||
video_urls = [[scrapertools.get_filename_from_url(url)[-4:] + " [youwatch]", video_url]]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user