From ae7ed92057dcb7b9b582416d6dcf584843eca460 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Mon, 10 Mar 2014 13:35:40 +0100 Subject: [PATCH] [youtube] Fix up invalid JSON --- youtube_dl/extractor/youtube.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 166a0cf70..4c3dd8341 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1285,10 +1285,11 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor): # Decide which formats to download try: - mobj = re.search(r';ytplayer.config = ({.*?});', video_webpage) + mobj = re.search(r';ytplayer\.config\s*=\s*({.*?});', video_webpage) if not mobj: raise ValueError('Could not find vevo ID') - ytplayer_config = json.loads(mobj.group(1)) + json_code = uppercase_escape(mobj.group(1)) + ytplayer_config = json.loads(json_code) args = ytplayer_config['args'] # Easy way to know if the 's' value is in url_encoded_fmt_stream_map # this signatures are encrypted