From fa2952ac55268503ccfad4df289837d3350b4a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Fri, 17 Apr 2020 22:18:39 +0200 Subject: [PATCH] [furaffinity] add 'following' extractor (#515) --- gallery_dl/extractor/furaffinity.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) 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, '