]> jfr.im git - yt-dlp.git/commitdiff
[KhanAcademy] Fix extractor (#3462)
authorrand-net <redacted>
Wed, 4 May 2022 14:26:45 +0000 (14:26 +0000)
committerGitHub <redacted>
Wed, 4 May 2022 14:26:45 +0000 (07:26 -0700)
Authored by: rand-net

yt_dlp/extractor/khanacademy.py

index 83cfeadba74f4849b546d8d5e1e8a86e692bdf1c..5333036a8b8787a2dfeb5babc8027c532224511a 100644 (file)
@@ -25,16 +25,21 @@ def _parse_video(self, video):
 
     def _real_extract(self, url):
         display_id = self._match_id(url)
-        component_props = self._parse_json(self._download_json(
-            'https://www.khanacademy.org/api/internal/graphql',
+        content = self._download_json(
+            'https://www.khanacademy.org/api/internal/graphql/FetchContentData',
             display_id, query={
-                'hash': 1604303425,
+                'fastly_cacheable': 'persist_until_publish',
+                'hash': '4134764944',
+                'lang': 'en',
                 'variables': json.dumps({
                     'path': display_id,
-                    'queryParams': '',
+                    'queryParams': 'lang=en',
+                    'isModal': False,
+                    'followRedirects': True,
+                    'countryCode': 'US',
                 }),
-            })['data']['contentJson'], display_id)['componentProps']
-        return self._parse_component_props(component_props)
+            })['data']['contentJson']
+        return self._parse_component_props(self._parse_json(content, display_id)['componentProps'])
 
 
 class KhanAcademyIE(KhanAcademyBaseIE):