From 3f300098c0ac15e13a17a98d0b4fabfba575bc45 Mon Sep 17 00:00:00 2001 From: mmmpipi <2519058820@qq.com> Date: Mon, 6 Jan 2025 22:28:30 +0800 Subject: [PATCH] Add favlist url user check --- gallery_dl/extractor/bilibili.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gallery_dl/extractor/bilibili.py b/gallery_dl/extractor/bilibili.py index 9dbc386230..61674d107e 100644 --- a/gallery_dl/extractor/bilibili.py +++ b/gallery_dl/extractor/bilibili.py @@ -97,6 +97,9 @@ def _init(self): BilibiliUserArticleFavlistExtractor._warning = False def items(self): + mid = self.api.login_user_id() + if str(mid) != self.groups[0]: + raise exception.StopExtraction("This is not you favlist url!") for article in self.api.user_favlist(): article["_extractor"] = BilibiliArticleExtractor url = "{}/opus/{}".format(self.root, article["opus_id"]) @@ -159,3 +162,15 @@ def user_favlist(self): break params["page"] = params["page"] + 1 + + def login_user_id(self): + url = "https://api.bilibili.com/x/space/v2/myinfo" + data = self.extractor.request(url).json() + + if data["code"] != 0: + self.extractor.log.debug("Server response: %s", data) + raise exception.StopExtraction("API request failed,Are you login?") + try: + return data["data"]["profile"]["mid"] + except Exception: + raise exception.StopExtraction("API request failed")