From a76e2e0f8898c06939b6a123fa863ab8876cfa20 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Wed, 22 Sep 2021 19:50:24 +0530 Subject: [PATCH] [reddit] Workaround for 429 by redirecting to old.reddit.com Closes #1014 --- yt_dlp/extractor/reddit.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/yt_dlp/extractor/reddit.py b/yt_dlp/extractor/reddit.py index 638f2b6a8..8e1463d5b 100644 --- a/yt_dlp/extractor/reddit.py +++ b/yt_dlp/extractor/reddit.py @@ -49,7 +49,7 @@ def _real_extract(self, url): class RedditRIE(InfoExtractor): - _VALID_URL = r'(?Phttps?://(?:[^/]+\.)?reddit\.com/r/[^/]+/comments/(?P[^/?#&]+))' + _VALID_URL = r'https?://(?:[^/]+\.)?reddit\.com/r/(?P[^/]+/comments/(?P[^/?#&]+))' _TESTS = [{ 'url': 'https://www.reddit.com/r/videos/comments/6rrwyj/that_small_heart_attack/', 'info_dict': { @@ -97,15 +97,11 @@ class RedditRIE(InfoExtractor): }] def _real_extract(self, url): - mobj = self._match_valid_url(url) - url, video_id = mobj.group('url', 'id') - - video_id = self._match_id(url) + slug, video_id = self._match_valid_url(url).group('slug', 'id') self._set_cookie('reddit.com', '_options', '%7B%22pref_quarantine_optin%22%3A%20true%7D') - data = self._download_json( - url + '/.json', video_id)[0]['data']['children'][0]['data'] + f'https://old.reddit.com/r/{slug}/.json', video_id)[0]['data']['children'][0]['data'] video_url = data['url']