From dc467c779026b5ad14047d537e115b77cf52e4d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sun, 1 Jun 2025 09:57:12 +0200 Subject: [PATCH] [civitai] add 'search-images' extractor (#7609) --- gallery_dl/extractor/civitai.py | 13 +++++++++++++ test/results/civitai.py | 8 ++++++++ 2 files changed, 21 insertions(+) diff --git a/gallery_dl/extractor/civitai.py b/gallery_dl/extractor/civitai.py index 4d1d6c04..e1eeb66d 100644 --- a/gallery_dl/extractor/civitai.py +++ b/gallery_dl/extractor/civitai.py @@ -389,6 +389,19 @@ class CivitaiSearchExtractor(CivitaiExtractor): return self.api.models(params) +class CivitaiSearchImagesExtractor(CivitaiExtractor): + subcategory = "search-images" + pattern = BASE_PATTERN + r"/search/images\?([^#]+)" + example = "https://civitai.com/search/images?query=QUERY" + + def images(self): + params = self._parse_query(self.groups[0]) + return CivitaiSearchAPI(self).search( + params.get("query"), + params.get("sortBy") or "images_v6", + self.api.nsfw) + + class CivitaiModelsExtractor(CivitaiExtractor): subcategory = "models" pattern = BASE_PATTERN + r"/models(?:/?\?([^#]+))?(?:$|#)" diff --git a/test/results/civitai.py b/test/results/civitai.py index fbacdbf5..08297c90 100644 --- a/test/results/civitai.py +++ b/test/results/civitai.py @@ -361,6 +361,14 @@ __tests__ = ( "#class": civitai.CivitaiSearchExtractor, }, +{ + "#url" : "https://civitai.com/search/images?sortBy=images_v6&query=Voynich", + "#class" : civitai.CivitaiSearchImagesExtractor, + "#options": {"nsfw": False}, + "#count" : range(150, 200), + "#archive": False, +}, + { "#url" : "https://civitai.com/user/waomodder", "#class": civitai.CivitaiUserExtractor,