diff --git a/gallery_dl/extractor/imagehosts.py b/gallery_dl/extractor/imagehosts.py index 90faf563..41bcfeaf 100644 --- a/gallery_dl/extractor/imagehosts.py +++ b/gallery_dl/extractor/imagehosts.py @@ -231,12 +231,21 @@ class ImagetwistGalleryExtractor(ImagehostImageExtractor): example = "https://imagetwist.com/p/USER/12345/NAME" def items(self): + url = self.page_url + root = url[:url.find("/", 8)] data = {"_extractor": ImagetwistImageExtractor} - root = self.page_url[:self.page_url.find("/", 8)] - page = self.request(self.page_url).text - gallery = text.extr(page, 'class="gallerys', "") + if pos < 0: + break + qs = text.unescape(text.rextr(page, "href='", "'", pos)) + url = f"{root}/{qs}" class ImgadultImageExtractor(ImagehostImageExtractor): diff --git a/test/results/imagetwist.py b/test/results/imagetwist.py index 82373d2f..c80f153d 100644 --- a/test/results/imagetwist.py +++ b/test/results/imagetwist.py @@ -14,8 +14,12 @@ __tests__ = ( "#category": ("imagehost", "imagetwist", "image"), "#class" : imagehosts.ImagetwistImageExtractor, "#sha1_url" : "8d5e168c0bee30211f821c6f3b2116e419d42671", - "#sha1_metadata": "d1060a4c2e3b73b83044e20681712c0ffdd6cfef", "#sha1_content" : "0c8768055e4e20e7c7259608b67799171b691140", + + "filename" : "test", + "extension": "png", + "token" : "f1i2s4vhvbrq", + "post_url" : "https://imagetwist.com/f1i2s4vhvbrq", }, { @@ -62,4 +66,13 @@ __tests__ = ( ), }, +{ + "#url" : "https://imagetwist.com/p/gdldev/806105/multi", + "#comment" : "multiple pages (#8826)", + "#category": ("imagehost", "imagetwist", "gallery"), + "#class" : imagehosts.ImagetwistGalleryExtractor, + "#pattern" : imagehosts.ImagetwistImageExtractor.pattern, + "#count" : 100, +}, + )