diff --git a/docs/supportedsites.md b/docs/supportedsites.md
index 5a627ebd..93975e59 100644
--- a/docs/supportedsites.md
+++ b/docs/supportedsites.md
@@ -1042,7 +1042,7 @@ Consider all listed sites to potentially be NSFW.
diff --git a/gallery_dl/extractor/subscribestar.py b/gallery_dl/extractor/subscribestar.py
index e982c78d..5df71521 100644
--- a/gallery_dl/extractor/subscribestar.py
+++ b/gallery_dl/extractor/subscribestar.py
@@ -233,28 +233,24 @@ class SubscribestarExtractor(Extractor):
self._warn_preview = util.noop
-class SubscribestarUserTagExtractor(SubscribestarExtractor):
- """Extractor for a subscribestar user's tagged posts"""
- subcategory = "user-tag"
- pattern = BASE_PATTERN + r"/(?!posts/)([^/?#]+)\?tag=([^#]+)"
- example = "https://www.subscribestar.com/USER?tag=TAG"
-
- def posts(self):
- _, user, tag = self.groups
- self.kwdict["search_tags"] = tag = text.unquote(tag)
- url = f"{self.root}/{user}"
- params = {"tag": tag}
- return self._pagination(url, params)
-
-
class SubscribestarUserExtractor(SubscribestarExtractor):
"""Extractor for media from a subscribestar user"""
subcategory = "user"
- pattern = BASE_PATTERN + r"/(?!posts/)([^/?#]+)"
+ pattern = BASE_PATTERN + r"/(?!posts/)([^/?#]+)(?:\?([^#]+))?"
example = "https://www.subscribestar.com/USER"
def posts(self):
- return self._pagination(f"{self.root}/{self.item}")
+ _, user, qs = self.groups
+ url = f"{self.root}/{user}"
+
+ if qs is None:
+ params = None
+ else:
+ params = text.parse_query(qs)
+ if "tag" in params:
+ self.kwdict["search_tags"] = params["tag"]
+
+ return self._pagination(url, params)
class SubscribestarPostExtractor(SubscribestarExtractor):
diff --git a/test/results/subscribestar.py b/test/results/subscribestar.py
index e9a50a1b..4fc7dc40 100644
--- a/test/results/subscribestar.py
+++ b/test/results/subscribestar.py
@@ -40,6 +40,27 @@ __tests__ = (
"date": "type:datetime",
},
+{
+ "#url" : "https://www.subscribestar.com/subscribestar?tag=Security",
+ "#comment" : "'tag' query parameter (#8737)",
+ "#class" : subscribestar.SubscribestarUserExtractor,
+ "#count" : 0,
+ "#metadata": "post",
+
+ "author_id" : 11,
+ "author_name": "subscribestar",
+ "author_nick": "SubscribeStar",
+ "content" : "\nEnhance Your Account Security with OTP
\nIn addition to our existing email-based Two-Factor Authentication (2FA), we encourage everyone to use a more secure and convenient method: One-Time Password (OTP) 2FA using authentication apps like 1Password, Google Authenticator etc. To get started:
\n\n- Navigate to Menu → Account Settings, scroll down to the Authenticator Apps (OTP 2FA) section.
\n- Click the \"Set up OTP\" button and follow the instructions.
\n \n
\nThe entire process should take less than 5 minutes. You can opt out of using email 2FA then.
\n
\nWhy Choose OTP 2FA Over Email 2FA?
\n\nStronger Security: While email 2FA adds an extra layer of protection, OTP 2FA generates codes directly on your mobile device, reducing the risk associated with email interception or unauthorized access.
\n\nInstant Access: Authentication apps provide time-sensitive codes without the need for an internet connection or waiting for an email to arrive.
\n\nEnhanced Protection Against Phishing: OTP codes from authentication apps are less susceptible to phishing attacks compared to email-based codes.
\n\n",
+ "date" : "dt:2024-09-30 20:46:00",
+ "post_id" : 1320999,
+ "search_tags": "Security",
+ "title" : "Enhance Your Account Security with OTP",
+ "tags" : [
+ "Security",
+ "PlatformUpdates",
+ ],
+},
+
{
"#url" : "https://subscribestar.adult/kanashiipanda",
"#category": ("", "subscribestar", "user-adult"),
@@ -123,24 +144,4 @@ __tests__ = (
"date": "dt:2019-04-28 07:32:00",
},
-{
- "#url" : "https://www.subscribestar.com/subscribestar?tag=Security",
- "#class" : subscribestar.SubscribestarUserTagExtractor,
- "#count" : 0,
- "#metadata": "post",
-
- "author_id" : 11,
- "author_name": "subscribestar",
- "author_nick": "SubscribeStar",
- "content" : "\nEnhance Your Account Security with OTP
\nIn addition to our existing email-based Two-Factor Authentication (2FA), we encourage everyone to use a more secure and convenient method: One-Time Password (OTP) 2FA using authentication apps like 1Password, Google Authenticator etc. To get started:
\n\n- Navigate to Menu → Account Settings, scroll down to the Authenticator Apps (OTP 2FA) section.
\n- Click the \"Set up OTP\" button and follow the instructions.
\n \n
\nThe entire process should take less than 5 minutes. You can opt out of using email 2FA then.
\n
\nWhy Choose OTP 2FA Over Email 2FA?
\n\nStronger Security: While email 2FA adds an extra layer of protection, OTP 2FA generates codes directly on your mobile device, reducing the risk associated with email interception or unauthorized access.
\n\nInstant Access: Authentication apps provide time-sensitive codes without the need for an internet connection or waiting for an email to arrive.
\n\nEnhanced Protection Against Phishing: OTP codes from authentication apps are less susceptible to phishing attacks compared to email-based codes.
\n\n",
- "date" : "dt:2024-09-30 20:46:00",
- "post_id" : 1320999,
- "search_tags": "Security",
- "title" : "Enhance Your Account Security with OTP",
- "tags" : [
- "Security",
- "PlatformUpdates",
- ],
-},
-
)