Browse Source

[livestream] fix the extraction of events

It now uses a json dictionary from the webpage.
Jaime Marquínez Ferrándiz 12 years ago
parent
commit
5f1ea943ab
1 changed files with 3 additions and 7 deletions
  1. 3 7
      youtube_dl/extractor/livestream.py

+ 3 - 7
youtube_dl/extractor/livestream.py

@@ -40,13 +40,9 @@ class LivestreamIE(InfoExtractor):
 
         if video_id is None:
             # This is an event page:
-            player = get_meta_content('twitter:player', webpage)
-            if player is None:
-                raise ExtractorError('Couldn\'t extract event api url')
-            api_url = player.replace('/player', '')
-            api_url = re.sub(r'^(https?://)(new\.)', r'\1api.\2', api_url)
-            info = json.loads(self._download_webpage(api_url, event_name,
-                                                     u'Downloading event info'))
+            config_json = self._search_regex(r'window.config = ({.*?});',
+                webpage, u'window config')
+            info = json.loads(config_json)['event']
             videos = [self._extract_video_info(video_data['data'])
                 for video_data in info['feed']['data'] if video_data['type'] == u'video']
             return self.playlist_result(videos, info['id'], info['full_name'])