diff options
Diffstat (limited to 'gallery_dl/extractor/fanbox.py')
| -rw-r--r-- | gallery_dl/extractor/fanbox.py | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/gallery_dl/extractor/fanbox.py b/gallery_dl/extractor/fanbox.py index 61a3928..2223403 100644 --- a/gallery_dl/extractor/fanbox.py +++ b/gallery_dl/extractor/fanbox.py @@ -11,7 +11,8 @@ from .. import text from ..cache import memcache import re -BASE_PATTERN = ( +BASE_PATTERN = r"(?:https?://)?(?:www\.)?fanbox\.cc" +USER_PATTERN = ( r"(?:https?://)?(?:" r"(?!www\.)([\w-]+)\.fanbox\.cc|" r"(?:www\.)?fanbox\.cc/@([\w-]+))" @@ -290,7 +291,7 @@ class FanboxExtractor(Extractor): class FanboxCreatorExtractor(FanboxExtractor): """Extractor for a Fanbox creator's works""" subcategory = "creator" - pattern = BASE_PATTERN + r"(?:/posts)?/?$" + pattern = USER_PATTERN + r"(?:/posts)?/?$" example = "https://USER.fanbox.cc/" def __init__(self, match): @@ -305,7 +306,7 @@ class FanboxCreatorExtractor(FanboxExtractor): class FanboxPostExtractor(FanboxExtractor): """Extractor for media from a single Fanbox post""" subcategory = "post" - pattern = BASE_PATTERN + r"/posts/(\d+)" + pattern = USER_PATTERN + r"/posts/(\d+)" example = "https://USER.fanbox.cc/posts/12345" def __init__(self, match): @@ -316,6 +317,28 @@ class FanboxPostExtractor(FanboxExtractor): return (self._get_post_data(self.post_id),) +class FanboxHomeExtractor(FanboxExtractor): + """Extractor for your Fanbox home feed""" + subcategory = "home" + pattern = BASE_PATTERN + r"/?$" + example = "https://fanbox.cc/" + + def posts(self): + url = "https://api.fanbox.cc/post.listHome?limit=10" + return self._pagination(url) + + +class FanboxSupportingExtractor(FanboxExtractor): + """Extractor for your supported Fanbox users feed""" + subcategory = "supporting" + pattern = BASE_PATTERN + r"/home/supporting" + example = "https://fanbox.cc/home/supporting" + + def posts(self): + url = "https://api.fanbox.cc/post.listSupporting?limit=10" + return self._pagination(url) + + class FanboxRedirectExtractor(Extractor): """Extractor for pixiv redirects to fanbox.cc""" category = "fanbox" |
