From cb566e9ec5cb2f732db57e9845ed07cff69c8cd9 Mon Sep 17 00:00:00 2001 From: Arjix <53124886+ArjixGamer@users.noreply.github.com> Date: Sat, 8 May 2021 21:22:29 +0300 Subject: [PATCH 1/3] fixed animesuge --- anime_downloader/sites/animesuge.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/anime_downloader/sites/animesuge.py b/anime_downloader/sites/animesuge.py index 22ebe81..c438b1a 100644 --- a/anime_downloader/sites/animesuge.py +++ b/anime_downloader/sites/animesuge.py @@ -5,12 +5,14 @@ from anime_downloader.sites import helpers import re import json + class AnimeSuge(Anime, sitename="animesuge"): sitename = "animesuge" @classmethod def search(cls, query): - soup = helpers.soupify(helpers.get("https://animesuge.io/ajax/anime/search", params={"keyword": query}).json()['html']) + soup = helpers.soupify(helpers.get( + "https://animesuge.io/ajax/anime/search", params={"keyword": query}).json()['html']) search_results = [ SearchResult( @@ -27,8 +29,9 @@ class AnimeSuge(Anime, sitename="animesuge"): _id = re.search(r".*-(.*)", self.url).group(1) soup = helpers.soupify(helpers.get(ep_url, params={'id': _id})) - - return ['https://animesuge.io' + x.get('href') for x in soup.select('a:not(.more)')] + eps = ['https://animesuge.io' + re.search(r"(/anime.*?/ep-\d+)", x.get( + 'href')).group(1).replace('\\', '') for x in soup.select('a:not(.more)')] + return eps def _scrape_metadata(self): self.title = helpers.soupify(helpers.get(self.url)).find("h1").text @@ -37,13 +40,17 @@ class AnimeSuge(Anime, sitename="animesuge"): class AnimeSugeEpisode(NineAnimeEpisode, sitename='animesuge'): def _get_sources(self): # Get id and ep no. from url, e.g: https://animesuge.io/anime/naruto-xx8z/ep-190 -> xx8z, 190 - _id, ep_no = re.search(r".*\/anime\/.*-(.*?)\/.*-(\d+)$", self.url).group(1, 2) + _id, ep_no = re.search( + r".*\/anime\/.*-(.*?)\/.*-(\d+)$", self.url).group(1, 2) # Get sources json from html, e.g: """ 190""" + # data_sources = json.loads( data_sources = json.loads(helpers.soupify(helpers.get("https://animesuge.io/ajax/anime/servers", - params={"id": _id, "episode": ep_no})).select(f"a[data-base='{ep_no}']")[0].get("data-sources")) + params={"id": _id, "episode": ep_no}).json()['html']).select(f"a[data-base='{ep_no}']")[0].get("data-sources")) + + # # Only includes supported # Unsupported ones {'28': 'openstream'} @@ -60,14 +67,18 @@ class AnimeSugeEpisode(NineAnimeEpisode, sitename='animesuge'): params={"id": _id}).json()['url'] break # Makes it more consistent. - except HTTPError: + except requests.HTTPError: time.sleep(5) continue server = id_source_map[key] + link = self.decodeString(link) + + if 'mp4upload.com/embed' in link: + link = re.search(r"(https://.*?\.html)", link).group(1) sources_list.append({ 'extractor': server, - 'url': self.decodeString(link), + 'url': link, 'server': server, # This may not be true, can't see the info on page. 'version': 'subbed' From a7f53d23a278424ab58cd52e53ae3f5ff76b6684 Mon Sep 17 00:00:00 2001 From: Arjix <53124886+ArjixGamer@users.noreply.github.com> Date: Mon, 10 May 2021 14:42:41 +0300 Subject: [PATCH 2/3] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 579273a..d50b5a7 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,7 @@ Yeah. Me too! That's why this tool exists. - animeout - Animerush - Animesimple +- Animesuge - requires Node.js - Animevibe - AnimeTake - AniTube From b92d91dd7164c5a3d4110c35dfb59e3740ff52bd Mon Sep 17 00:00:00 2001 From: Arjix <53124886+ArjixGamer@users.noreply.github.com> Date: Mon, 10 May 2021 14:44:13 +0300 Subject: [PATCH 3/3] Changed: Animesuge -> AnimeSuge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d50b5a7..ef45059 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Yeah. Me too! That's why this tool exists. - animeout - Animerush - Animesimple -- Animesuge - requires Node.js +- AnimeSuge - requires Node.js - Animevibe - AnimeTake - AniTube