From d67fa392a30a469a618298dacd28132bbca7f774 Mon Sep 17 00:00:00 2001 From: AbdullahM0hamed <25087116+AbdullahM0hamed@users.noreply.github.com> Date: Wed, 20 Jan 2021 22:46:11 +0000 Subject: [PATCH] Fix 4anime --- anime_downloader/sites/_4anime.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/anime_downloader/sites/_4anime.py b/anime_downloader/sites/_4anime.py index 4d74737..81afb47 100644 --- a/anime_downloader/sites/_4anime.py +++ b/anime_downloader/sites/_4anime.py @@ -1,4 +1,5 @@ import logging +import re from anime_downloader.sites.anime import Anime, AnimeEpisode, SearchResult from anime_downloader.sites import helpers from anime_downloader.const import HEADERS @@ -17,7 +18,8 @@ class Anime4(Anime, sitename='4anime'): "asid": 1, "options": "qtranslate_lang=0&set_intitle=None&customset%5B%5D=anime" } - soup = helpers.soupify(helpers.post("https://4anime.to/wp-admin/admin-ajax.php", data=data)).select('div.info > a') + soup = helpers.soupify(helpers.post( + "https://4anime.to/wp-admin/admin-ajax.php", data=data)).select('div.info > a') search_results = [ SearchResult( @@ -29,7 +31,8 @@ class Anime4(Anime, sitename='4anime'): return search_results def _scrape_episodes(self): - soup = helpers.soupify(helpers.get(self.url)).select('ul.episodes.range.active > li > a') + soup = helpers.soupify(helpers.get(self.url)).select( + 'ul.episodes.range.active > li > a') return [x['href'] for x in soup] def _scrape_metadata(self): @@ -42,9 +45,16 @@ class Anime4(Anime, sitename='4anime'): class Anime4Episode(AnimeEpisode, sitename='4anime'): def _get_sources(self): - self.headers = {'user-agent': HEADERS[self.hash_url(self.url, len(HEADERS))]} + self.headers = { + 'user-agent': HEADERS[self.hash_url(self.url, len(HEADERS))]} resp = helpers.get(self.url, headers=self.headers) - stream_url = helpers.soupify(resp).find('div', class_='videojs-desktop').find('source')['src'] + + # E.g. document.write( ' Download' ); + stream_url = helpers.soupify( + re.search("(