diff --git a/docs/supportedsites.md b/docs/supportedsites.md index a0fc1acb..93ae4a57 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -286,7 +286,7 @@ Consider all listed sites to potentially be NSFW. Eka's Portal https://aryion.com/ - Favorites, Galleries, Posts, Search Results, Tag Searches + Favorites, Galleries, Posts, Search Results, Tag Searches, Watches Supported diff --git a/gallery_dl/extractor/aryion.py b/gallery_dl/extractor/aryion.py index ff70c75a..bb9663cc 100644 --- a/gallery_dl/extractor/aryion.py +++ b/gallery_dl/extractor/aryion.py @@ -77,20 +77,20 @@ class AryionExtractor(Extractor): def metadata(self): """Return general metadata""" - def _pagination_params(self, url, params=None, needle=None): + def _pagination_params(self, url, params=None, needle=None, quote="'"): if params is None: params = {"p": 1} else: params["p"] = text.parse_int(params.get("p"), 1) if needle is None: - needle = "class='gallery-item' id='" + needle = "class='gallery-item' id=" + quote while True: page = self.request(url, params=params).text cnt = 0 - for post_id in text.extract_iter(page, needle, "'"): + for post_id in text.extract_iter(page, needle, quote): cnt += 1 yield post_id @@ -108,6 +108,37 @@ class AryionExtractor(Extractor): return url = self.root + text.rextr(page, "href='", "'", pos) + def _pagination_folders(self, url, folder=None): + if folder is None: + self.kwdict["folder"] = "" + else: + url = f"{url}/{folder}" + self.kwdict["folder"] = folder = text.unquote(folder) + self.log.debug("Descending into folder '%s'", folder) + + params = {"p": 1} + while True: + page = self.request(url, params=params).text + + cnt = 0 + for item in text.extract_iter( + page, "