diff --git a/gallery_dl/extractor/bunkr.py b/gallery_dl/extractor/bunkr.py index 32fa9c86..d9cebfa9 100644 --- a/gallery_dl/extractor/bunkr.py +++ b/gallery_dl/extractor/bunkr.py @@ -10,7 +10,7 @@ from .common import Extractor from .lolisafe import LolisafeAlbumExtractor -from .. import text, config, exception +from .. import text, util, config, exception import random if config.get(("extractor", "bunkr"), "tlds"): @@ -69,6 +69,11 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor): domain = self.groups[0] or self.groups[1] if domain not in LEGACY_DOMAINS: self.root = "https://" + domain + self.offset = 0 + + def skip(self, num): + self.offset = num + return num def request(self, url, **kwargs): kwargs["encoding"] = "utf-8" @@ -133,6 +138,9 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor): } def _extract_files(self, items): + if self.offset: + items = util.advance(items, self.offset) + for item in items: try: url = text.unescape(text.extr(item, ' href="', '"')) diff --git a/test/results/bunkr.py b/test/results/bunkr.py index 9b6d79bf..68dc8b1e 100644 --- a/test/results/bunkr.py +++ b/test/results/bunkr.py @@ -53,7 +53,8 @@ __tests__ = ( "#category": ("lolisafe", "bunkr", "album"), "#class" : bunkr.BunkrAlbumExtractor, "#pattern" : r"https://(i-)?meatballs.bunkr.ru/\w+", - "#count" : 7, + "#range" : "5-", + "#count" : 3, }, { @@ -253,7 +254,7 @@ __tests__ = ( { "#url" : "https://bunkr.site/f/JEn5iQgYVYJfi", - "#comment" : "403 error for main 'brg-bk.cdn.gigachad-cdn.ru' URL (#6732 #6972)", + "#comment" : "file gone --- 403 error for main 'brg-bk.cdn.gigachad-cdn.ru' URL (#6732 #6972)", "#category": ("lolisafe", "bunkr", "media"), "#class" : bunkr.BunkrMediaExtractor, "#urls" : "https://brg-bk.cdn.gigachad-cdn.ru/IMG_47272f2c698d257fd22f4300ae98ec35929b-iEYVkLPQ.jpg?n=IMG_47272f2c698d257fd22f4300ae98ec35929b.jpg",