aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom-Oliver Heidel <github@tom-oliver.eu>2020-08-31 23:38:33 +0200
committerGitHub <noreply@github.com>2020-08-31 23:38:33 +0200
commitba304106ded5c883c2732e0d8ad7c79c87350f02 (patch)
tree13d3e0e24663dd580d50c0efe81dfb7463141a06
parent7f3558b00cd3723d4d4525e2ef9d013f10906510 (diff)
parent9f13f9d18a633eef0ba07812390e43641168676b (diff)
downloadhypervideo-pre-ba304106ded5c883c2732e0d8ad7c79c87350f02.tar.lz
hypervideo-pre-ba304106ded5c883c2732e0d8ad7c79c87350f02.tar.xz
hypervideo-pre-ba304106ded5c883c2732e0d8ad7c79c87350f02.zip
Merge pull request #11 from gschizas/bugfix/youtube/chapters-fix-extractor
Bugfix/youtube/chapters fix extractor
-rw-r--r--youtube_dl/extractor/youtube.py14
1 files changed, 4 insertions, 10 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index b35bf03aa..03b726942 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -1661,21 +1661,15 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
def _extract_chapters_from_json(self, webpage, video_id, duration):
if not webpage:
return
- player = self._parse_json(
+ initial_data = self._parse_json(
self._search_regex(
- r'RELATED_PLAYER_ARGS["\']\s*:\s*({.+})\s*,?\s*\n', webpage,
+ r'window\["ytInitialData"\] = (.+);\n', webpage,
'player args', default='{}'),
video_id, fatal=False)
- if not player or not isinstance(player, dict):
- return
- watch_next_response = player.get('watch_next_response')
- if not isinstance(watch_next_response, compat_str):
- return
- response = self._parse_json(watch_next_response, video_id, fatal=False)
- if not response or not isinstance(response, dict):
+ if not initial_data or not isinstance(initial_data, dict):
return
chapters_list = try_get(
- response,
+ initial_data,
lambda x: x['playerOverlays']
['playerOverlayRenderer']
['decoratedPlayerBarRenderer']