diff --git a/gallery_dl/extractor/furaffinity.py b/gallery_dl/extractor/furaffinity.py index ba60e19f..9af72742 100644 --- a/gallery_dl/extractor/furaffinity.py +++ b/gallery_dl/extractor/furaffinity.py @@ -233,3 +233,29 @@ class FuraffinityUserExtractor(FuraffinityExtractor): (FuraffinityScrapsExtractor , base.format("scraps")), (FuraffinityFavoriteExtractor, base.format("favorites")), ), ("gallery",)) + + +class FuraffinityFollowingExtractor(FuraffinityExtractor): + """Extractor for a furaffinity user's watched users""" + subcategory = "following" + pattern = BASE_PATTERN + "/watchlist/by/([^/?&#]+)" + test = ("https://www.furaffinity.net/watchlist/by/mirlinthloth/", { + "pattern": FuraffinityUserExtractor.pattern, + "range": "176-225", + "count": 50, + }) + + def items(self): + url = "{}/watchlist/by/{}/".format(self.root, self.user) + data = {"_extractor": FuraffinityUserExtractor} + + while True: + page = self.request(url).text + + for path in text.extract_iter(page, '