[twitter] match '/i/user/ID' URLs

This commit is contained in:
Mike Fährmann
2021-01-20 00:33:57 +01:00
parent 069b113cbf
commit 95e5911895

View File

@@ -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