From 95e59118957482322953508292e711b2da2a1ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 20 Jan 2021 00:33:57 +0100 Subject: [PATCH] [twitter] match '/i/user/ID' URLs --- gallery_dl/extractor/twitter.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index 9e7cb75d..4034732a 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -272,8 +272,8 @@ class TwitterExtractor(Extractor): class TwitterTimelineExtractor(TwitterExtractor): """Extractor for all images from a user's timeline""" subcategory = "timeline" - pattern = BASE_PATTERN + \ - r"/(?!search)(?:([^/?#]+)/?(?:$|[?#])|intent/user\?user_id=(\d+))" + pattern = (BASE_PATTERN + r"/(?!search)(?:([^/?#]+)/?(?:$|[?#])" + r"|i(?:/user/|ntent/user\?user_id=)(\d+))") test = ( ("https://twitter.com/supernaturepics", { "range": "1-40", @@ -281,14 +281,15 @@ class TwitterTimelineExtractor(TwitterExtractor): }), ("https://mobile.twitter.com/supernaturepics?p=i"), ("https://www.twitter.com/id:2976459548"), + ("https://twitter.com/i/user/2976459548"), ("https://twitter.com/intent/user?user_id=2976459548"), ) def __init__(self, match): TwitterExtractor.__init__(self, match) - uid = match.group(2) - if uid: - self.user = "id:" + uid + user_id = match.group(2) + if user_id: + self.user = "id:" + user_id def tweets(self): return TwitterAPI(self).timeline_profile(self.user) @@ -355,8 +356,7 @@ class TwitterListMembersExtractor(TwitterExtractor): self.login() for user in TwitterAPI(self).list_members(self.user): user["_extractor"] = TwitterTimelineExtractor - url = "{}/intent/user?user_id={}".format( - self.root, user["rest_id"]) + url = "{}/i/user/{}".format(self.root, user["rest_id"]) yield Message.Queue, url, user