summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/furaffinity.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2020-04-29 17:42:33 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2020-04-29 17:42:33 -0400
commitd5b96ce44b7809f5ae01e3e9d70a1d58fe21ccf5 (patch)
tree1302b36780656b71ccb4aebda4f7ea1e2c744e52 /gallery_dl/extractor/furaffinity.py
parentcf188f30e1c27bdb900fa2623a9ff91b944633b2 (diff)
New upstream version 1.13.5upstream/1.13.5
Diffstat (limited to 'gallery_dl/extractor/furaffinity.py')
-rw-r--r--gallery_dl/extractor/furaffinity.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/gallery_dl/extractor/furaffinity.py b/gallery_dl/extractor/furaffinity.py
index ba60e19..9af7274 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, '<a href="', '"'):
+ yield Message.Queue, self.root + path, data
+
+ path = text.rextract(page, 'action="', '"')[0]
+ if url.endswith(path):
+ return
+ url = self.root + path