1
1
mirror of https://github.com/ytdl-org/youtube-dl synced 2024-11-30 14:42:58 +01:00

[dailymail] Fix sources extraction (closes #13057)

This commit is contained in:
Sergey M․ 2017-05-14 12:47:19 +07:00
parent 60f5c9fb19
commit 1c45b7a8a9
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D

View File

@ -2,9 +2,11 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from .common import InfoExtractor from .common import InfoExtractor
from ..compat import compat_str
from ..utils import ( from ..utils import (
int_or_none, int_or_none,
determine_protocol, determine_protocol,
try_get,
unescapeHTML, unescapeHTML,
) )
@ -28,8 +30,14 @@ class DailyMailIE(InfoExtractor):
video_data = self._parse_json(self._search_regex( video_data = self._parse_json(self._search_regex(
r"data-opts='({.+?})'", webpage, 'video data'), video_id) r"data-opts='({.+?})'", webpage, 'video data'), video_id)
title = unescapeHTML(video_data['title']) title = unescapeHTML(video_data['title'])
video_sources = self._download_json(video_data.get(
'sources', {}).get('url') or 'http://www.dailymail.co.uk/api/player/%s/video-sources.json' % video_id, video_id) sources_url = (try_get(
video_data,
(lambda x: x['plugins']['sources']['url'],
lambda x: x['sources']['url']), compat_str) or
'http://www.dailymail.co.uk/api/player/%s/video-sources.json' % video_id)
video_sources = self._download_json(sources_url, video_id)
formats = [] formats = []
for rendition in video_sources['renditions']: for rendition in video_sources['renditions']: