diff --git a/gallery_dl/extractor/fikfap.py b/gallery_dl/extractor/fikfap.py index 2673a133..ccf6f6a0 100644 --- a/gallery_dl/extractor/fikfap.py +++ b/gallery_dl/extractor/fikfap.py @@ -67,7 +67,7 @@ class FikfapExtractor(Extractor): class FikfapPostExtractor(FikfapExtractor): subcategory = "post" - pattern = BASE_PATTERN + r"/(?:user/\w+/)?post/(\d+)" + pattern = BASE_PATTERN + r"/(?:user/[^/?#]+/)?post/(\d+)" example = "https://fikfap.com/user/USER/post/12345" def posts(self): @@ -83,7 +83,7 @@ class FikfapPostExtractor(FikfapExtractor): class FikfapUserExtractor(FikfapExtractor): subcategory = "user" - pattern = BASE_PATTERN + r"/user/([\w-]+)" + pattern = BASE_PATTERN + r"/user/([^/?#]+)" example = "https://fikfap.com/user/USER" def posts(self): @@ -105,7 +105,7 @@ class FikfapUserExtractor(FikfapExtractor): class FikfapHashtagExtractor(FikfapExtractor): subcategory = "hashtag" directory_fmt = ("{category}", "{hashtag}") - pattern = BASE_PATTERN + r"/hash/([\w-]+)" + pattern = BASE_PATTERN + r"/hash/([^/?#]+)" example = "https://fikfap.com/hash/HASH" def posts(self): diff --git a/test/results/fikfap.py b/test/results/fikfap.py index 58043f45..d9e391d4 100644 --- a/test/results/fikfap.py +++ b/test/results/fikfap.py @@ -113,6 +113,11 @@ __tests__ = ( "userId" : "32f4c8d6-2409-4db8-9e66-d3b5ff0c1a98", }, +{ + "#url" : "https://fikfap.com/user/Hot-sauce-34/post/1026309", + "#class" : fikfap.FikfapPostExtractor, +}, + { "#url" : "https://fikfap.com/user/alinevs", "#class" : fikfap.FikfapUserExtractor, @@ -149,4 +154,9 @@ __tests__ = ( "hashtag" : "outercourse", }, +{ + "#url" : "https://fikfap.com/hash/foo-bar", + "#class" : fikfap.FikfapHashtagExtractor, +}, + )