diff --git a/gallery_dl/extractor/imgur.py b/gallery_dl/extractor/imgur.py
index 8dc71b81..5515c509 100644
--- a/gallery_dl/extractor/imgur.py
+++ b/gallery_dl/extractor/imgur.py
@@ -29,44 +29,41 @@ class ImgurExtractor(Extractor):
self.album = match.group(1)
def items(self):
- page = self.request("https://imgur.com/a/" + self.album).text
- data = self.get_job_metadata(page)
- images = self.get_images(page)
- data["count"] = len(images)
+ data = self.get_job_metadata()
yield Message.Version, 1
yield Message.Directory, data
- for image in images:
- data.update(image)
- yield Message.Url, image["url"], data
+ for num, url in enumerate(self.get_image_urls(), 1):
+ name, ext = os.path.splitext(url[20:])
+ data["num"] = num
+ data["name"] = name
+ data["extension"] = ext[1:]
+ yield Message.Url, url, data
- def get_job_metadata(self, page):
+ def get_job_metadata(self):
"""Collect metadata for extractor-job"""
- title, _ = text.extract(page, '', '')[1]
+ while True:
+ url, pos = text.extract(page, '