[9now] Fix extraction
authorScott Leggett <scott@sl.id.au>
Mon, 5 Sep 2016 12:41:08 +0000 (22:41 +1000)
committerSergey M․ <dstftw@gmail.com>
Sat, 10 Sep 2016 17:16:29 +0000 (00:16 +0700)
youtube_dl/extractor/ninenow.py

index faa5772376cac8c27dacabbf84f6ae1d5000980e..907b42609a71ca30db0beeefd08d1361a25340d8 100644 (file)
@@ -44,7 +44,14 @@ class NineNowIE(InfoExtractor):
         page_data = self._parse_json(self._search_regex(
             r'window\.__data\s*=\s*({.*?});', webpage,
             'page data'), display_id)
-        common_data = page_data.get('episode', {}).get('episode') or page_data.get('clip', {}).get('clip')
+        current_key = (
+            page_data.get('episode', {}).get('currentEpisodeKey') or
+            page_data.get('clip', {}).get('currentClipKey')
+        )
+        common_data = (
+            page_data.get('episode', {}).get('episodeCache', {}).get(current_key, {}).get('episode') or
+            page_data.get('clip', {}).get('clipCache', {}).get(current_key, {}).get('clip')
+        )
         video_data = common_data['video']
 
         if video_data.get('drm'):