From e2f46e974c7260f50b6f2a9b276f6b7c8fe1ea2e Mon Sep 17 00:00:00 2001 From: UrloMythus Date: Sun, 8 Jun 2025 20:15:32 +0200 Subject: [PATCH] Add encoding to urls --- Src/API/guardaserie.py | 12 +++++++++--- Src/Utilities/eval.py | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Src/API/guardaserie.py b/Src/API/guardaserie.py index d5b8a06..a0a3573 100644 --- a/Src/API/guardaserie.py +++ b/Src/API/guardaserie.py @@ -7,6 +7,7 @@ from Src.Utilities.loadenv import load_env import json, random from Src.Utilities.info import get_info_imdb,get_info_tmdb from Src.Utilities.eval import eval_solver +import urllib.parse env_vars = load_env() GS_PROXY = config.GS_PROXY proxies = {} @@ -70,6 +71,7 @@ async def get_supervideo_link(link,client): async def search(showname,date,client): try: headers = random_headers.generate() + showname = urllib.parse.quote(showname) response = await client.get(ForwardProxy + f'{GS_DOMAIN}/?story={showname}&do=search&subaction=search', allow_redirects=True, impersonate = "chrome124", headers = headers, proxies = proxies) if response.status_code != 200: print(f"Guardaserie Failed to fetch search results: {response.status_code}") @@ -120,8 +122,12 @@ async def guardaserie(id,client): return None page_url = await search(showname,date,client) supervideo_link =await player_url(page_url,season,episode,client) - final_url = await eval_solver(supervideo_link,proxies, ForwardProxy, client) - return final_url + if supervideo_link: + final_url = await eval_solver(supervideo_link,proxies, ForwardProxy, client) + return final_url + else: + print("Couldn't find iframe source") + return None except Exception as e: print("MammaMia: Guardaserie Failed",e) return None @@ -132,7 +138,7 @@ async def test_script(): from curl_cffi.requests import AsyncSession async with AsyncSession() as client: # Replace with actual id, for example 'anime_id:episode' format - test_id = "tt0460649:1:1" # This is an example ID format + test_id = "tt0157246:1:1" # This is an example ID format tt0460649 results = await guardaserie(test_id, client) print(results) diff --git a/Src/Utilities/eval.py b/Src/Utilities/eval.py index 6697e80..af92eef 100644 --- a/Src/Utilities/eval.py +++ b/Src/Utilities/eval.py @@ -142,6 +142,7 @@ async def eval_solver(stream_link,proxies, ForwardProxy, client): headers["user-agent"] = "Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36" headers["User-Agent"] = "Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36" response = await client.get( ForwardProxy + stream_link, allow_redirects=True, timeout=30, headers = headers, proxies = proxies, impersonate = "chrome124") + print("Eval:",response.status_code) soup = BeautifulSoup(response.text, "lxml",parse_only=SoupStrainer("script")) script_all = soup.find_all("script") for i in script_all: