fix server VUP e vidtome

This commit is contained in:
mac12m99
2021-03-25 21:09:10 +01:00
parent 76a2637aa6
commit b0079b4d77
4 changed files with 38 additions and 34 deletions

View File

@@ -1348,18 +1348,19 @@ def addQualityTag(item, itemlist, data, patron):
def get_jwplayer_mediaurl(data, srvName, onlyHttp=False, dataIsBlock=False):
video_urls = []
block = scrapertools.find_single_match(data, r'sources:\s*\[([^\]]+)\]') if not dataIsBlock else data
if 'file:' in block:
sources = scrapertools.find_multiple_matches(block, r'file:\s*"([^"]+)"(?:,label:\s*"([^"]+)")?')
elif 'src:' in block:
sources = scrapertools.find_multiple_matches(data, r'src:\s*"([^"]+)",\s*type:\s*"[^"]+",[^,]+,\s*label:\s*"([^"]+)"')
else:
sources =[(block.replace('"',''), '')]
for url, quality in sources:
quality = 'auto' if not quality else quality
if url.split('.')[-1] != 'mpd':
video_urls.append(['.' + url.split('.')[-1] + ' [' + quality + '] [' + srvName + ']', url if not onlyHttp else url.replace('https://', 'http://')])
if block:
if 'file:' in block:
sources = scrapertools.find_multiple_matches(block, r'file:\s*"([^"]+)"(?:,label:\s*"([^"]+)")?')
elif 'src:' in block:
sources = scrapertools.find_multiple_matches(block, r'src:\s*"([^"]+)",\s*type:\s*"[^"]+"(?:,[^,]+,\s*label:\s*"([^"]+)")?')
else:
sources =[(block.replace('"',''), '')]
for url, quality in sources:
quality = 'auto' if not quality else quality
if url.split('.')[-1] != 'mpd':
video_urls.append(['.' + url.split('.')[-1] + ' [' + quality + '] [' + srvName + ']', url if not onlyHttp else url.replace('https://', 'http://')])
video_urls.sort(key=lambda x: x[0].split()[1])
video_urls.sort(key=lambda x: x[0].split()[1])
return video_urls

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from core import httptools, scrapertools, servertools
from core import httptools, scrapertools, servertools, support
from platformcode import logger, config
from lib import jsunpack
@@ -25,7 +25,8 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
packed = scrapertools.find_multiple_matches(data, r'(eval\s?\(function\(p,a,c,k,e,d\).*?\n)')
for p in packed:
data = jsunpack.unpack(p)
media_url = scrapertools.find_single_match(data, r"source:\\'([^\\']+)")
if media_url:
video_urls.append([media_url.split('.')[-1] + ' [Vidto.me]', media_url])
video_urls.extend(support.get_jwplayer_mediaurl(data, 'vidtome'))
# media_url = scrapertools.find_single_match(data, r"source:\\'([^\\']+)")
# if media_url:
# video_urls.append([media_url.split('.')[-1] + ' [Vidto.me]', media_url])
return video_urls

View File

@@ -5,7 +5,7 @@
"patterns": [
{
"pattern": "(?:vupload.com|vup.to)/((?:embed-)?[a-z0-9]+)",
"url": "https://vup.to/\\1.html"
"url": "https://vupload.com/\\1.html"
}
]
},

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from core import httptools, scrapertools
from core import httptools, scrapertools, support
from platformcode import logger, config
@@ -18,20 +18,22 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
logger.debug("url=" + page_url)
video_urls = []
global data
patron = r'sources:\s*\[\{src:\s*"([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron)
if not matches:
data = scrapertools.find_single_match(data, r"<script type='text/javascript'>(eval.function.p,a,c,k,e,.*?)\s*</script>")
if data:
from lib import jsunpack
data = jsunpack.unpack(data)
matches = scrapertools.find_multiple_matches(data, patron)
for url in matches:
quality = 'm3u8'
video_url = url
if 'label' in url:
url = url.split(',')
video_url = url[0]
quality = url[1].replace('label:','')
video_urls.append(['VUP Player [%s]' % quality, video_url.replace(',','')])
return video_urls
return support.get_jwplayer_mediaurl(data, 'VUP')
# patron = r'sources:\s*\[\{src:\s*"([^"]+)"'
# matches = scrapertools.find_multiple_matches(data, patron)
# if not matches:
# data = scrapertools.find_single_match(data, r"<script type='text/javascript'>(eval.function.p,a,c,k,e,.*?)\s*</script>")
# if data:
# from lib import jsunpack
# data = jsunpack.unpack(data)
# matches = scrapertools.find_multiple_matches(data, patron)
# for url in matches:
# quality = 'm3u8'
# video_url = url
# if 'label' in url:
# url = url.split(',')
# video_url = url[0]
# quality = url[1].replace('label:','')
# video_urls.append(['VUP Player [%s]' % quality, video_url.replace(',','')])
# return video_urls