diff options
| author | 2022-06-28 19:54:18 -0400 | |
|---|---|---|
| committer | 2022-06-28 19:54:18 -0400 | |
| commit | ce35450b5308adab049c5bd99095986d4c607027 (patch) | |
| tree | f0c2b600f8ef720941bdf615164b942c6c4a5d07 /gallery_dl/extractor/skeb.py | |
| parent | 25442ea49f031d4d2df3353dd7e9ad2080e332da (diff) | |
New upstream version 1.22.3.upstream/1.22.3
Diffstat (limited to 'gallery_dl/extractor/skeb.py')
| -rw-r--r-- | gallery_dl/extractor/skeb.py | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/gallery_dl/extractor/skeb.py b/gallery_dl/extractor/skeb.py index 2af917d..2ecb4b6 100644 --- a/gallery_dl/extractor/skeb.py +++ b/gallery_dl/extractor/skeb.py @@ -135,10 +135,11 @@ class SkebPostExtractor(SkebExtractor): "body": "re:はじめまして。私はYouTubeにてVTuberとして活動をしている湊ラ", "client": { "avatar_url": "https://pbs.twimg.com/profile_images" - "/1471184042791895042/f0DcWFGl.jpg", - "header_url": None, + "/1537488326697287680/yNUbLDgC.jpg", + "header_url": "https://pbs.twimg.com/profile_banners" + "/1375007870291300358/1655744756/1500x500", "id": 1196514, - "name": "湊ラギ", + "name": "湊ラギ♦️🎀Vtuber🎀次回6/23予定", "screen_name": "minato_ragi", }, "completed_at": "2022-02-27T14:03:45.442Z", @@ -208,3 +209,30 @@ class SkebUserExtractor(SkebExtractor): posts = itertools.chain(posts, self._pagination(url, params)) return posts + + +class SkebFollowingExtractor(SkebExtractor): + """Extractor for all creators followed by a skeb user""" + subcategory = "following" + pattern = r"(?:https?://)?skeb\.jp/@([^/?#]+)/following_creators" + test = ("https://skeb.jp/@user/following_creators",) + + def items(self): + for user in self.users(): + url = "{}/@{}".format(self.root, user["screen_name"]) + user["_extractor"] = SkebUserExtractor + yield Message.Queue, url, user + + def users(self): + url = "{}/api/users/{}/following_creators".format( + self.root, self.user_name) + headers = {"Referer": self.root, "Authorization": "Bearer null"} + params = {"sort": "date", "offset": 0, "limit": 90} + + while True: + data = self.request(url, params=params, headers=headers).json() + yield from data + + if len(data) < params["limit"]: + return + params["offset"] += params["limit"] |
