diff options
| author | 2021-08-13 17:45:31 -0400 | |
|---|---|---|
| committer | 2021-08-13 17:45:31 -0400 | |
| commit | d50ba9cfe80f00e02ca9a4714f75699c00e67128 (patch) | |
| tree | 01fe7b46370d5068b8c692ae5ea95cab4d734bd8 /gallery_dl/extractor/nsfwalbum.py | |
| parent | 873d9a628e9412a79bdc64cd962470749de3425b (diff) | |
New upstream version 1.18.3.upstream/1.18.3
Diffstat (limited to 'gallery_dl/extractor/nsfwalbum.py')
| -rw-r--r-- | gallery_dl/extractor/nsfwalbum.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/gallery_dl/extractor/nsfwalbum.py b/gallery_dl/extractor/nsfwalbum.py index 9c4d686..be736d1 100644 --- a/gallery_dl/extractor/nsfwalbum.py +++ b/gallery_dl/extractor/nsfwalbum.py @@ -43,11 +43,27 @@ class NsfwalbumAlbumExtractor(GalleryExtractor): def images(self, page): iframe = self.root + "/iframe_image.php?id=" backend = self.root + "/backend.php" + retries = self._retries + for image_id in text.extract_iter(page, 'data-img-id="', '"'): - spirit = self._annihilate(text.extract(self.request( - iframe + image_id).text, 'giraffe.annihilate("', '"')[0]) - params = {"spirit": spirit, "photo": image_id} - data = self.request(backend, params=params).json() + spirit = None + tries = 0 + + while tries <= retries: + try: + if not spirit: + spirit = self._annihilate(text.extract( + self.request(iframe + image_id).text, + 'giraffe.annihilate("', '"')[0]) + params = {"spirit": spirit, "photo": image_id} + data = self.request(backend, params=params).json() + break + except Exception: + tries += 1 + else: + self.log.warning("Unable to fetch image %s", image_id) + continue + yield data[0], { "id" : text.parse_int(image_id), "width" : text.parse_int(data[1]), |
