diff options
| author | 2023-06-19 01:14:28 -0400 | |
|---|---|---|
| committer | 2023-06-19 01:14:28 -0400 | |
| commit | 9fb906aeb3816abb42f459d1b67e35024e6f2348 (patch) | |
| tree | 30b039301c783475c0f4d46b0e0c5ec9851b2567 /gallery_dl/extractor/furaffinity.py | |
| parent | 8950c0f2ef55ec2ed36b3fccc9fd85b64b877c3b (diff) | |
New upstream version 1.25.6.upstream/1.25.6
Diffstat (limited to 'gallery_dl/extractor/furaffinity.py')
| -rw-r--r-- | gallery_dl/extractor/furaffinity.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gallery_dl/extractor/furaffinity.py b/gallery_dl/extractor/furaffinity.py index cc43cec..9f5cbba 100644 --- a/gallery_dl/extractor/furaffinity.py +++ b/gallery_dl/extractor/furaffinity.py @@ -159,7 +159,13 @@ class FuraffinityExtractor(Extractor): while path: page = self.request(self.root + path).text - yield from text.extract_iter(page, 'id="sid-', '"') + extr = text.extract_from(page) + while True: + post_id = extr('id="sid-', '"') + if not post_id: + break + self._favorite_id = text.parse_int(extr('data-fav-id="', '"')) + yield post_id path = text.extr(page, 'right" href="', '"') def _pagination_search(self, query): @@ -241,6 +247,7 @@ class FuraffinityFavoriteExtractor(FuraffinityExtractor): test = ("https://www.furaffinity.net/favorites/mirlinthloth/", { "pattern": r"https://d\d?\.f(uraffinity|acdn)\.net" r"/art/[^/]+/\d+/\d+.\w+\.\w+", + "keyword": {"favorite_id": int}, "range": "45-50", "count": 6, }) @@ -248,6 +255,12 @@ class FuraffinityFavoriteExtractor(FuraffinityExtractor): def posts(self): return self._pagination_favorites() + def _parse_post(self, post_id): + post = FuraffinityExtractor._parse_post(self, post_id) + if post: + post["favorite_id"] = self._favorite_id + return post + class FuraffinitySearchExtractor(FuraffinityExtractor): """Extractor for furaffinity search results""" |
