From e0820ab0f7bdfe33190fb0ec8884a02175005880 Mon Sep 17 00:00:00 2001 From: marco Date: Tue, 25 Feb 2020 23:09:39 +0100 Subject: [PATCH] fix wstream per cambio di struttura --- servers/wstream.py | 75 ++++++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/servers/wstream.py b/servers/wstream.py index e4643de9..dcf8b775 100644 --- a/servers/wstream.py +++ b/servers/wstream.py @@ -14,20 +14,11 @@ from platformcode import logger, config, platformtools 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): - def int_bckup_method(): - global data,headers - page_url = scrapertools.find_single_match(data, r"""
|>)""") - if possibleParam: - post = {param[0]: param[1] for param in possibleParam if param[0]} - if captcha: post['g-recaptcha-response'] = captcha - if post: - data = httptools.downloadpage(page_url, headers=headers, post=post, follow_redirects=True).data - elif captcha: - int_bckup_method() - elif captcha: - int_bckup_method() - else: - return False, config.get_localized_string(707434) - + real_url = page_url if "Not Found" in data or "File was deleted" in data: return False, config.get_localized_string(70449) % 'Wstream' else: @@ -56,27 +35,57 @@ def test_video_exists(page_url): # Returns an array of possible video url's from the page_url def get_video_url(page_url, premium=False, user="", password="", video_password=""): + def int_bckup_method(): + global data,headers + page_url = scrapertools.find_single_match(data, r"""
|>)""") + if possibleParam: + post = {param[0]: param[1] for param in possibleParam if param[0]} + if captcha: post['g-recaptcha-response'] = captcha + if post: + data = httptools.downloadpage(real_url, headers=headers, post=post, follow_redirects=True).data + elif captcha: + int_bckup_method() + elif captcha: + int_bckup_method() + else: + platformtools.dialog_ok(config.get_localized_string(20000), config.get_localized_string(707434)) + return [] + + headers.append(['Referer', real_url]) _headers = urllib.urlencode(dict(headers)) post_data = scrapertools.find_single_match(data, r"\s*") if post_data != "": from lib import jsunpack data = jsunpack.unpack(post_data) - - data = scrapertools.find_single_match(data, r'sources:\s*(\[[^\]]+\])') - data = re.sub('([A-z]+):(?!/)','"\\1":',data) - keys = json.loads(data) - - for key in keys: - video_urls.append(['%s [%sp]' % (key['type'].replace('video/',''), key['label']), key['src'].replace('https','http') + '|' + _headers]) + getSources(data) else: - media_urls = scrapertools.find_multiple_matches(data, r'(http.*?\.mp4)') + getSources(data) + + if not video_urls: + media_urls = scrapertools.find_multiple_matches(data, r'(http[^\s]*?\.mp4)') for media_url in media_urls: video_urls.append(['video' + " mp4 [wstream] ", media_url + '|' + _headers])