mirror of
https://gitlab.com/dstftw/youtube-dl.git
synced 2020-11-16 09:42:26 +00:00
[livestream] fix the extraction of events
It now uses a json dictionary from the webpage.
This commit is contained in:
parent
0ef7ad5cd4
commit
5f1ea943ab
|
@ -40,13 +40,9 @@ class LivestreamIE(InfoExtractor):
|
||||||
|
|
||||||
if video_id is None:
|
if video_id is None:
|
||||||
# This is an event page:
|
# This is an event page:
|
||||||
player = get_meta_content('twitter:player', webpage)
|
config_json = self._search_regex(r'window.config = ({.*?});',
|
||||||
if player is None:
|
webpage, u'window config')
|
||||||
raise ExtractorError('Couldn\'t extract event api url')
|
info = json.loads(config_json)['event']
|
||||||
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'))
|
|
||||||
videos = [self._extract_video_info(video_data['data'])
|
videos = [self._extract_video_info(video_data['data'])
|
||||||
for video_data in info['feed']['data'] if video_data['type'] == u'video']
|
for video_data in info['feed']['data'] if video_data['type'] == u'video']
|
||||||
return self.playlist_result(videos, info['id'], info['full_name'])
|
return self.playlist_result(videos, info['id'], info['full_name'])
|
||||||
|
|
Loading…
Reference in a new issue