diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..9152922 Binary files /dev/null and b/.DS_Store differ diff --git a/anime_downloader/sites/gogoanime.py b/anime_downloader/sites/gogoanime.py index 7426c9d..b922c53 100644 --- a/anime_downloader/sites/gogoanime.py +++ b/anime_downloader/sites/gogoanime.py @@ -1,4 +1,5 @@ import logging +import re from anime_downloader.sites.anime import Anime, AnimeEpisode, SearchResult from anime_downloader.sites import helpers @@ -10,15 +11,40 @@ class GogoanimeEpisode(AnimeEpisode, sitename='gogoanime'): _base_url = 'https://www2.gogoanime.se' def _get_sources(self): + + # Scrape episode page to get link for download page + dl_soup = helpers.soupify(helpers.get(self.url)) + dl_page_url = [] + + for element in dl_soup.find_all('a', href=re.compile('https://vidstreaming\.io')): + source_url = element.get('href') + logger.debug('%s' % (source_url)) + dl_page_url = source_url + + # Scrape download page for default hoster (cdnfile) file link + soup_cdnfile = helpers.soupify(helpers.get(dl_page_url)) + cdnfile_url = [] + + for element in soup_cdnfile.find_all('a', href=re.compile('https://.*\.cdnfile\.info')): + extractor_class = 'no_extractor' + source_url = element.get('href') + logger.debug('%s: %s' % (extractor_class, source_url)) + cdnfile_url.append((extractor_class, source_url,)) + return cdnfile_url + + ''' soup = helpers.soupify(helpers.get(self.url)) extractors_url = [] for element in soup.select('.anime_muti_link > ul > li'): extractor_class = element.get('class')[0] source_url = element.a.get('data-video') + logger.debug('%s: %s' % (extractor_class, source_url)) + # prefer streamango, else use mp4upload and rapidvideo as sources - # only use mp4upload and rapidvideo as sources - if extractor_class == 'mp4': + if extractor_class == 'streamango': + extractor_class = 'streamango' + elif extractor_class == 'mp4': extractor_class = 'mp4upload' elif extractor_class != 'rapidvideo': continue @@ -26,10 +52,12 @@ class GogoanimeEpisode(AnimeEpisode, sitename='gogoanime'): extractors_url.append((extractor_class, source_url,)) return extractors_url + ''' + class GogoAnime(Anime, sitename='gogoanime'): sitename = 'gogoanime' - QUALITIES = ['360p', '480p', '720p'] + QUALITIES = ['360p', '480p', '720p', '1080p'] _episode_list_url = 'https://www2.gogoanime.se//load-list-episode' _search_api_url = 'https://ajax.apimovie.xyz/site/loadAjaxSearch'