diff options
| author | 2020-04-29 17:42:33 -0400 | |
|---|---|---|
| committer | 2020-04-29 17:42:33 -0400 | |
| commit | d5b96ce44b7809f5ae01e3e9d70a1d58fe21ccf5 (patch) | |
| tree | 1302b36780656b71ccb4aebda4f7ea1e2c744e52 /gallery_dl/extractor/furaffinity.py | |
| parent | cf188f30e1c27bdb900fa2623a9ff91b944633b2 (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.py | 26 |
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 |
