toonitalia: fix scraper and voe server
This commit is contained in:
@@ -71,7 +71,8 @@ def check(item):
|
|||||||
def episodios(item):
|
def episodios(item):
|
||||||
anime = True
|
anime = True
|
||||||
item.contentType = 'tvshow'
|
item.contentType = 'tvshow'
|
||||||
patron = r'>\s*(?:(?P<season>\d+)(?:×|x|×))?(?P<episode>\d+)(?:\s+–\s+)?[ –]+(?P<title>[^<]+)[ –]+<a (?P<data>.*?)(?:<br|</p)'
|
patron = r'>\s*(?:(?P<season>\d+)(?:×|x|×))?(?P<episode>\d+)-*\d*(?:\s+–\s+)?[ –]+(?P<title>[^<]+)[ –]+<a (?P<data>.*?)(?:<br|</p)'
|
||||||
|
|
||||||
return locals()
|
return locals()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# -*- Created for Alfa-addon -*-
|
# -*- Created for Alfa-addon -*-
|
||||||
# -*- By the Alfa Develop Group -*-
|
# -*- By the Alfa Develop Group -*-
|
||||||
|
|
||||||
from core import httptools
|
from core import httptools, support
|
||||||
from core import scrapertools
|
from core import scrapertools
|
||||||
from platformcode import logger
|
from platformcode import logger
|
||||||
from platformcode import config
|
from platformcode import config
|
||||||
@@ -18,6 +18,10 @@ def test_video_exists(page_url):
|
|||||||
global data
|
global data
|
||||||
logger.info("(page_url='%s')" % page_url)
|
logger.info("(page_url='%s')" % page_url)
|
||||||
data = httptools.downloadpage(page_url).data
|
data = httptools.downloadpage(page_url).data
|
||||||
|
redirect_url = support.match(data, patron=r"}\s}\selse\s{\swindow.location.href\s=\s'(http[^']+)'").match
|
||||||
|
|
||||||
|
if redirect_url:
|
||||||
|
data = httptools.downloadpage(redirect_url).data
|
||||||
|
|
||||||
if "File not found" in data or "File is no longer available" in data:
|
if "File not found" in data or "File is no longer available" in data:
|
||||||
return False, config.get_localized_string(70449) % "VOE"
|
return False, config.get_localized_string(70449) % "VOE"
|
||||||
@@ -26,14 +30,10 @@ def test_video_exists(page_url):
|
|||||||
|
|
||||||
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
||||||
logger.info("(page_url='%s')" % page_url)
|
logger.info("(page_url='%s')" % page_url)
|
||||||
from core import support
|
|
||||||
# support.dbg()
|
|
||||||
video_urls = []
|
video_urls = []
|
||||||
video_srcs = support.match(data, patron=r"src: '([^']+)'")
|
video_srcs = support.match(data, patron=r"src: '([^']+)'")
|
||||||
video_srcs = scrapertools.find_multiple_matches(data, r"src: '([^']+)'")
|
video_srcs = scrapertools.find_multiple_matches(data, r"src: '([^']+)'")
|
||||||
if not video_srcs:
|
if not video_srcs:
|
||||||
# bloque = scrapertools.find_single_match(data, "sources.*?\}")
|
|
||||||
# video_srcs = support.match(bloque, patron=': "([^"]+)', debug=True)
|
|
||||||
video_srcs = support.match(data, patronBlock=r'sources [^\{]+{([^}]+)', patron=r'''['"]([^'"]+)[^:]+: ['"]([^'"]+)['"]''').matches
|
video_srcs = support.match(data, patronBlock=r'sources [^\{]+{([^}]+)', patron=r'''['"]([^'"]+)[^:]+: ['"]([^'"]+)['"]''').matches
|
||||||
for ext, url in video_srcs:
|
for ext, url in video_srcs:
|
||||||
video_urls.append([ext + " [Voe]", base64.b64decode(url).decode()])
|
video_urls.append([ext + " [Voe]", base64.b64decode(url).decode()])
|
||||||
|
|||||||
Reference in New Issue
Block a user