From: Philipp Hagemeister Date: Mon, 10 Mar 2014 12:35:40 +0000 (+0100) Subject: [youtube] Fix up invalid JSON X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=ae7ed92057dcb7b9b582416d6dcf584843eca460;p=youtube-dl [youtube] Fix up invalid JSON --- 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