[extractor/common] Introduce fragments interface
[youtube-dl] / youtube_dl / extractor / condenast.py
index 976a0e89d622295ab7e3fad01933903613021104..8d8f605980bdf531c49a0c5d5067223d1f41dc4d 100644 (file)
@@ -113,11 +113,19 @@ class CondeNastIE(InfoExtractor):
                 'target': params['id'],
             })
         video_id = query['videoId']
+        video_info = None
         info_page = self._download_webpage(
             'http://player.cnevids.com/player/video.js',
-            video_id, 'Downloading video info', query=query)
-        video_info = self._parse_json(self._search_regex(
-            r'loadCallback\(({.+})\)', info_page, 'video info'), video_id)['video']
+            video_id, 'Downloading video info', query=query, fatal=False)
+        if info_page:
+            video_info = self._parse_json(self._search_regex(
+                r'loadCallback\(({.+})\)', info_page, 'video info'), video_id)['video']
+        else:
+            info_page = self._download_webpage(
+                'http://player.cnevids.com/player/loader.js',
+                video_id, 'Downloading loader info', query=query)
+            video_info = self._parse_json(self._search_regex(
+                r'var\s+video\s*=\s*({.+?});', info_page, 'video info'), video_id)
         title = video_info['title']
 
         formats = []
@@ -135,7 +143,8 @@ class CondeNastIE(InfoExtractor):
             })
         self._sort_formats(formats)
 
-        info = self._search_json_ld(webpage, video_id) if url_type != 'embed' else {}
+        info = self._search_json_ld(
+            webpage, video_id, fatal=False) if url_type != 'embed' else {}
         info.update({
             'id': video_id,
             'formats': formats,