aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrand-net <34341872+rand-net@users.noreply.github.com>2022-05-04 14:26:45 +0000
committerGitHub <noreply@github.com>2022-05-04 07:26:45 -0700
commit4f7a98c565873ea7a758efcd86e4296b6a06e817 (patch)
treed3eba45d4b08ac5b3839117450449e7f9b4a16ba
parentb58f8d8f2c6389ad07fa31a81a6489cae7d205c9 (diff)
downloadhypervideo-pre-4f7a98c565873ea7a758efcd86e4296b6a06e817.tar.lz
hypervideo-pre-4f7a98c565873ea7a758efcd86e4296b6a06e817.tar.xz
hypervideo-pre-4f7a98c565873ea7a758efcd86e4296b6a06e817.zip
[KhanAcademy] Fix extractor (#3462)
Authored by: rand-net
-rw-r--r--yt_dlp/extractor/khanacademy.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/yt_dlp/extractor/khanacademy.py b/yt_dlp/extractor/khanacademy.py
index 83cfeadba..5333036a8 100644
--- a/yt_dlp/extractor/khanacademy.py
+++ b/yt_dlp/extractor/khanacademy.py
@@ -25,16 +25,21 @@ class KhanAcademyBaseIE(InfoExtractor):
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):