diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index 4a817714..9f3e3918 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -741,7 +741,8 @@ class TwitterEventExtractor(TwitterExtractor): class TwitterTweetExtractor(TwitterExtractor): """Extractor for individual tweets""" subcategory = "tweet" - pattern = BASE_PATTERN + r"/([^/?#]+|i/web)/status/(\d+)/?(?:$|[?#])" + pattern = (BASE_PATTERN + r"/([^/?#]+|i/web)/status/(\d+)" + r"/?(?:$|\?|#|photo/)") example = "https://twitter.com/USER/status/12345" def __init__(self, match): diff --git a/test/results/twitter.py b/test/results/twitter.py index 4ceb63b9..ac119a33 100644 --- a/test/results/twitter.py +++ b/test/results/twitter.py @@ -526,6 +526,13 @@ You’ll be able to receive four Galarian form Pokémon with Hidden Abilities, p "#count" : 5, }, +{ + "#url" : "https://twitter.com/supernaturepics/status/604341487988576256/photo/1", + "#comment" : "/photo/ URL (#5443)", + "#category": ("", "twitter", "tweet"), + "#class" : twitter.TwitterTweetExtractor, +}, + { "#url" : "https://twitter.com/morino_ya/status/1392763691599237121", "#comment" : "retweet with missing media entities (#1555)",