diff --git a/gallery_dl/extractor/wallpapercave.py b/gallery_dl/extractor/wallpapercave.py index faf3b0de..796f3f84 100644 --- a/gallery_dl/extractor/wallpapercave.py +++ b/gallery_dl/extractor/wallpapercave.py @@ -18,7 +18,7 @@ class WallpapercaveImageExtractor(Extractor): category = "wallpapercave" subcategory = "image" root = "https://wallpapercave.com" - pattern = r"(?:https?://)?(?:www\.)?wallpapercave\.com" + pattern = r"(?:https?://)?(?:www\.)?wallpapercave\.com/" example = "https://wallpapercave.com/w/wp12345" def items(self): @@ -40,3 +40,12 @@ class WallpapercaveImageExtractor(Extractor): image = text.nameext_from_url(path) yield Message.Directory, image yield Message.Url, self.root + path, image + + if path is None: + for wp in text.extract_iter( + page, 'class="wallpaper" id="wp', ''): + path = text.rextract(wp, ' src="', '"')[0] + if path: + image = text.nameext_from_url(path) + yield Message.Directory, image + yield Message.Url, self.root + path, image diff --git a/test/results/wallpapercave.py b/test/results/wallpapercave.py index f1f191ce..80ade86d 100644 --- a/test/results/wallpapercave.py +++ b/test/results/wallpapercave.py @@ -12,7 +12,22 @@ __tests__ = ( "#url" : "https://wallpapercave.com/w/wp10270355", "#category": ("", "wallpapercave", "image"), "#class" : wallpapercave.WallpapercaveImageExtractor, + "#urls" : "https://wallpapercave.com/download/sekai-saikou-no-ansatsusha-isekai-kizoku-ni-tensei-suru-wallpapers-wp10270355", "#sha1_content": "58b088aaa1cf1a60e347015019eb0c5a22b263a6", }, +{ + "#url" : "https://wallpapercave.com/apple-wwdc-2024-wallpapers", + "#comment" : "album listing", + "#category": ("", "wallpapercave", "image"), + "#class" : wallpapercave.WallpapercaveImageExtractor, + "#archive" : False, + "#urls" : [ + "https://wallpapercave.com/wp/wp13775438.jpg", + "https://wallpapercave.com/wp/wp13775439.jpg", + "https://wallpapercave.com/wp/wp13775440.jpg", + "https://wallpapercave.com/wp/wp13775441.jpg", + ], +}, + )