diff --git a/docs/supportedsites.rst b/docs/supportedsites.rst index 724a4c7750..9e409dcf5c 100644 --- a/docs/supportedsites.rst +++ b/docs/supportedsites.rst @@ -95,7 +95,7 @@ Sen Manga https://raw.senmanga.com/ Chapters Sense-Scans http://sensescans.com/reader/ Chapters, Manga Sex.com https://www.sex.com/ Boards, Pins, Search Results Simply Hentai https://www.simply-hentai.com/ Galleries, individual Images, Videos -SlickPic https://www.slickpic.com// Albums +SlickPic https://www.slickpic.com/ Images from Users, Albums SlideShare https://www.slideshare.net/ Presentations SmugMug https://www.smugmug.com/ |smugmug-C| Optional (OAuth) The /b/ Archive https://thebarchive.com/ Threads diff --git a/gallery_dl/extractor/slickpic.py b/gallery_dl/extractor/slickpic.py index 37ebc9fb31..127cce8931 100644 --- a/gallery_dl/extractor/slickpic.py +++ b/gallery_dl/extractor/slickpic.py @@ -117,3 +117,24 @@ def images(self, data): "whq" : "1", } return self.request(url, method="POST", data=data).json()["list"] + + +class SlickpicUserExtractor(SlickpicExtractor): + subcategory = "user" + pattern = BASE_PATTERN + r"(?:/gallery)?/?(?:$|[?#])" + test = ( + ("https://mattcrandall.slickpic.com/gallery/", { + "count": ">= 358", + "pattern": SlickpicAlbumExtractor.pattern, + }), + ("https://mattcrandall.slickpic.com/"), + ) + + def items(self): + page = self.request(self.root + "/gallery?viewer").text + data = {"_extractor": SlickpicAlbumExtractor} + base = self.root + "/albums/" + + yield Message.Version, 1 + for album in text.extract_iter(page, 'href="' + base, '"'): + yield Message.Queue, base + album, data