[extractor/redgifs] Fix extractors

Closes #5202, closes #5216
This commit is contained in:
pukkandan 2022-10-20 02:46:28 +05:30
parent 7a26ce2641
commit f47cf86eff
No known key found for this signature in database
GPG key ID: 7EEE9E1E817D0A39

View file

@ -65,10 +65,12 @@ def _parse_gif_data(self, gif_data):
def _fetch_oauth_token(self, video_id): def _fetch_oauth_token(self, video_id):
# These pages contain the OAuth token that is necessary to make API calls. # These pages contain the OAuth token that is necessary to make API calls.
index_page = self._download_webpage(f'https://www.redgifs.com/watch/{video_id}', video_id) index_page = self._download_webpage(
'https://www.redgifs.com', video_id, note='Downloading home page')
index_js_uri = self._html_search_regex( index_js_uri = self._html_search_regex(
r'href="?(/assets/js/index[.a-z0-9]*.js)"?\W', index_page, 'index_js_uri') r'href="?(/assets/js/index[.a-z0-9]*.js)"?\W', index_page, 'index_js_uri')
index_js = self._download_webpage(f'https://www.redgifs.com/{index_js_uri}', video_id) index_js = self._download_webpage(
f'https://www.redgifs.com/{index_js_uri}', video_id, note='Downloading index.js')
# It turns out that a { followed by any valid JSON punctuation will always result in the # It turns out that a { followed by any valid JSON punctuation will always result in the
# first two characters of the base64 encoding being "ey". # first two characters of the base64 encoding being "ey".
# Use this fact to find any such string constant of a reasonable length with the correct # Use this fact to find any such string constant of a reasonable length with the correct